您的方法是正确的。
您唯一需要添加的是将其持续到DB或其他地方。每次用户设置东西时,您都可以与 AlarmManager
, ,也将其放在文件中。
当你拿到时 BOOT_COMPLETED
, ,加载数据并设置所有先前警报。
题
我有个问题。我是Android和Java的新手,我正在制作一个程序,该程序在选定的时间内关闭手机的声音并使显示器变暗。一切都通过获得用户输入值(小时和分钟)并根据这些值设置警报来完成一切,以向广播电视机发射意图,该广播启动的服务,该服务打开服务声音并使显示器变暗。我希望重新启动后重新启动该警报。我以为我可以简单地设置另一个接收boot_complet意图的broadcastreceiver,然后设置警报,该警报将意图发射到以前使用的启动服务之前使用的广播。我的问题是,我不知道如何从活动中将其输入到boradcastreceiver的活动中,该值是由boot_completed意图启动的。还是有其他方法可以根据重新启动后的用户输入设置相同的警报?简而言之,我想在重新启动后自动设置警报,并与用户设置的警报相同的火灾时间。对不起,我的英语不好...
解决方案
您的方法是正确的。
您唯一需要添加的是将其持续到DB或其他地方。每次用户设置东西时,您都可以与 AlarmManager
, ,也将其放在文件中。
当你拿到时 BOOT_COMPLETED
, ,加载数据并设置所有先前警报。
其他提示
在您的应用程序的清单中:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
然后实施广播员以接收广播:
public class SampleBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
// Set the alarm here.
}
}
}
对于重新启动后设置警报,您可以从共享首选项或DB中选择警报值。