Hello, everyone

I need to set alarm icon in status bar, without a notification. It works 
when application is running, but after finishing an application, the 
receiver does not respond on "ALARM_CHANGED", only on "BOOT_COMPLETED". 
Need to set alarm icon after user turns off alarms in build-in Alarm Clock.

Thanks.


manifest:

<receiver android:name=".Alarm.AlarmInitReceiver">
  <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.ALARM_CHANGED" />
  </intent-filter></receiver>

AlarmInitReceiver.java:

public class AlarmInitReceiver extends BroadcastReceiver {@Overridepublic void 
onReceive(Context context, Intent intent) {
    if (intent.getAction() != null) {
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            Toast.makeText(context, "BOOT-completed", Toast.LENGTH_LONG).show();
        }
        if (intent.getAction().equals("android.intent.action.ALARM_CHANGED")) {
            Toast.makeText(context, "Alarm on", Toast.LENGTH_SHORT).show();
            setStatusBarIcon(true);
        }
    }}

MainActivity:

public class MainActivity extends Activity {
@Overridepublic void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    setStatusBarIcon(true);
    enableReceiver(true);
}
protected void enableReceiver(boolean enable) {
    ComponentName receiver = new ComponentName(mContext, 
AlarmInitReceiver.class);
    PackageManager pm = mContext.getPackageManager();

    pm.setComponentEnabledSetting(receiver,
            (enable) ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : 
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
            PackageManager.DONT_KILL_APP);}
public static void setStatusBarIcon(boolean enabled){
    Intent alarmChanged = new Intent("android.intent.action.ALARM_CHANGED");
    alarmChanged.putExtra("alarmSet", enabled);
    mContext.sendBroadcast(alarmChanged);}


-- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
To post to this group, send email to android-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/android-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/android-developers/fe243471-8a4b-4dac-a400-fd692264209a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to