@Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); boolean createAlarmIntent = context.getString(R.string.create_alarm_intent).equals(action) || ACTION_BOOT_COMPLETED.equals(action); boolean removeAlarmIntent = context.getString(R.string.remove_alarm_intent).equals(action); AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); PendingIntent birthdayNotifications = PendingIntent.getService( context, 0, new Intent(context, HappyDaysService.class), PendingIntent.FLAG_CANCEL_CURRENT); if (createAlarmIntent) { createAlarm(alarmManager, birthdayNotifications, context); return; } if (removeAlarmIntent) { alarmManager.cancel(birthdayNotifications); return; } }
/** * Handle incoming transaction requests. The incoming requests are initiated by the MMSC Server * or by the MMS Client itself. */ @Override public void handleMessage(Message msg) { int serviceId = msg.arg1; Intent intent = (Intent) msg.obj; if (Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) { Log.v(TAG, "handleMessage serviceId: " + serviceId + " intent: " + intent); } if (intent != null) { String action = intent.getAction(); int error = intent.getIntExtra("errorCode", 0); if (Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) { Log.v(TAG, "handleMessage action: " + action + " error: " + error); } if (MESSAGE_SENT_ACTION.equals(intent.getAction())) { handleSmsSent(intent, error); } else if (SMS_RECEIVED_ACTION.equals(action)) { handleSmsReceived(intent, error); } else if (ACTION_BOOT_COMPLETED.equals(action)) { handleBootCompleted(); } else if (TelephonyIntents.ACTION_SERVICE_STATE_CHANGED.equals(action)) { handleServiceStateChanged(intent); } else if (ACTION_SEND_MESSAGE.endsWith(action)) { handleSendMessage(); } else if (ACTION_SEND_INACTIVE_MESSAGE.equals(action)) { handleSendInactiveMessage(); } } // NOTE: We MUST not call stopSelf() directly, since we need to // make sure the wake lock acquired by AlertReceiver is released. SmsReceiver.finishStartingService(SmsReceiverService.this, serviceId); }
@Override public void handleMessage(Message msg) { Log.v("TTSNotifierService", "handleMessage()"); Intent intent = (Intent) msg.obj; String action = intent.getAction(); readState(); storeAndUpdateVolume(); boolean cbxEnable = mPrefs.getBoolean("cbxEnable", false); boolean cbxObeySilentMode = mPrefs.getBoolean("cbxObeySilentMode", true); if (action == null) return; if (!cbxEnable) return; if (cbxObeySilentMode && silentMode) return; // When calling ignore other notifications if (!ACTION_PHONE_STATE.equals(action) && (mTelephonyManager.getCallState() != TelephonyManager.CALL_STATE_IDLE)) return; Log.v("TTSNotifierService", "Action: " + action); if (ACTION_PHONE_STATE.equals(action)) { handleACTION_PHONE_STATE(intent); } else if (ACTION_SMS_RECEIVED.equals(action)) { handleACTION_SMS_RECEIVED(intent); } else if (ACTION_BATTERY_LOW.equals(action)) { handleACTION_BATTERY_LOW(intent); } else if (ACTION_MEDIA_BAD_REMOVAL.equals(action)) { handleACTION_MEDIA_BAD_REMOVAL(intent); } else if (ACTION_BOOT_COMPLETED.equals(action)) { handleACTION_BOOT_COMPLETED(intent); } else if (ACTION_PROVIDER_CHANGED.equals(action)) { handleACTION_PROVIDER_CHANGED(intent); } else if (ACTION_MEDIA_MOUNTED.equals(action)) { handleACTION_MEDIA_MOUNTED(intent); } else if (ACTION_MEDIA_UNMOUNTED.equals(action)) { handleACTION_MEDIA_UNMOUNTED(intent); } else if (ACTION_PICK_WIFI_NETWORK.equals(action)) { handleACTION_PICK_WIFI_NETWORK(intent); } else if (ACTION_WIFI_STATE_CHANGE.equals(action)) { handleACTION_WIFI_STATE_CHANGE(intent); } else if (ACTION_SUPPLICANT_CONNECTION_CHANGE_ACTION.equals(action)) { handleSUPPLICANT_CONNECTION_CHANGE_ACTION(intent); } // ACTION_PHONE_STATE is different because we are using a thread in it if (!ACTION_PHONE_STATE.equals(action)) restoreVolume(); }