我有个问题。我是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中选择警报值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top