Android: open activity when alarm clock is done or dismmised

前端 未结 1 695
终归单人心
终归单人心 2021-01-26 05:00

Every alarm clock that the user set through the phone stock clock has an option of opening another application when the alarm is dismissed or done (I\'m not sure if this feature

相关标签:
1条回答
  • 2021-01-26 05:22

    So it seems that there's no option to add your app to the desired list which allow the user to pick an application to open immediately after the alarm has been dismissed or done.

    My other solution is to listen to that specific event of dismissing or done through broadcast receiver. This might be a bit tricky because the event has multiple names according to the device.

    I have LG phone so my event is com.lge.clock.alarmalert.stop, but you'll have to figure out whats the event for each device. I've seen some similar topics as this one.

    Here's my manifest declaration for the receiver:

    <receiver android:name=".Receiver.AlarmBroadcastReceiver">
        <intent-filter>
            <action android:name="com.android.deskclock.ALARM_DISMISS" />
            <action android:name="com.android.deskclock.ALARM_DONE" />
            <action android:name="com.lge.clock.alarmalert.stop" />
        </intent-filter>
    </receiver>
    

    The deskclock is the default stock clock running on some devices, as I mentioned, I had to find the action for the LG phones and added it aswell.

    The Receiver:

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals("com.android.deskclock.ALARM_DISMISS") || action.equals("com.android.deskclock.ALARM_DONE") || action.equals("com.lge.clock.alarmalert.stop"))
        {
            ////Do Something
        }
    }
    
    0 讨论(0)
提交回复
热议问题