用户通过手机库存时钟设置的每个闹钟都可以选择在闹钟解除或完成时打开另一个应用程序(我不确定 Marshmallow 中是否添加了此功能,但我有它并且运行 android M)。
每个警报的默认设置为“无”,但您可以选择邮件、天气、音乐应用程序等......
我想将我的应用程序添加到此列表中,以便在闹钟完成时它会直接打开。
我的应用程序需要哪些设置才能显示在此列表中,以及如何将其设置为特定警报的默认应用程序(应指定哪些额外内容)
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_MESSAGE, "New Alarm");
i.putExtra(AlarmClock.EXTRA_HOUR, 10);
i.putExtra(AlarmClock.EXTRA_MINUTES, 30);
startActivity(i);
因此,似乎没有选项可以将您的应用程序添加到所需的列表中,从而允许用户在警报解除或完成后选择要立即打开的应用程序。
我的另一个解决方案是通过广播接收器收听解雇或完成的特定事件。这可能有点棘手,因为根据设备,事件有多个名称。
我有 LG 手机,所以我的活动是com.lge.clock.alarmalert.stop,但您必须弄清楚每个设备的事件是什么。我见过一些类似的主题this one https://stackoverflow.com/questions/4115649/listing-of-manufacturers-clock-alarm-package-and-class-name-please-add/15876187.
这是我的接收者清单声明:
<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>
桌面时钟是在某些设备上运行的默认库存时钟,正如我提到的,我必须找到 LG 手机的操作并将其添加。
收件人:
@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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)