code: @Override
  	public boolean isNotificationsAvailable(Context context) {
  
  		if(!notificationsAssessed) {
  			
  		    String permissionString = context.getPackageName() + ".permission.C2D_MESSAGE";
  		    
  			boolean ok = true;
  			
  			if(config.getBooleanProperty(SocializeConfig.SOCIALIZE_NOTIFICATIONS_ENABLED, true)) {
  				if(!hasPermission(context, permissionString)) {
  					lastNotificationWarning = "Notifications not available, permission [" + permissionString + "] not specified in AndroidManifest.xml";
  					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
  					ok = false;
  				}
  				
  				if(!hasPermission(context, "com.google.android.c2dm.permission.RECEIVE")) {
  					lastNotificationWarning = "Notifications not available, permission com.google.android.c2dm.permission.RECEIVE not specified in AndroidManifest.xml, or device does not include Google APIs";
  					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
  					ok = false;
  				}
  				
  				if(config.isEntityLoaderCheckEnabled() && getSocialize().getEntityLoader() == null) {
  					lastNotificationWarning = "Notifications not available. Entity loader not found.";
  					if(logger.isInfoEnabled()) logger.info(lastNotificationWarning);
  					ok = false;
  				}
  			}
  			else {
  				ok = false;
  				if(logger.isDebugEnabled()) {
  					logger.debug("SmartAlerts disabled in config");
  				}
  			}
  			
  			notificationsAvailable = ok;
  			notificationsAssessed = true;
  		}
  		else if(!notificationsAvailable) {
  			if(lastNotificationWarning != null && logger.isInfoEnabled()) {
  				logger.info(lastNotificationWarning);
  			}
  		}
  
  		return notificationsAvailable;
  	}
docs: /* (non-Javadoc)
  @see com.socialize.util.IAppUtils#isNotificationsAvaiable(android.content.Context)