广播接收器每分钟检查一次

问题描述 投票:0回答:1

我想检查每分钟制作报警应用程序的时间,但是当我在接收器中时

<action android:name="android.intent.ACTION_TIME_CHANGED"/>
                <action android:name="android.intent.ACTION_TIME_TICK"/>
                <action android:name="android.intent.action.TIME_TICK"/>

把它放在广播接收器中

@Override
    public void onReceive(Context context, Intent intent)
    {
        Toast.makeText(context,"changed",Toast.LENGTH_LONG)
            .show();

    }

我的应用程序不工作或做任何我搜索越来越多的东西,但没有什么是有用的,我希望有人帮助我

java android broadcastreceiver android-alarms
1个回答
0
投票

从你写<action android:name="android.intent.ACTION_TIME_CHANGED"/>的方式来看,你似乎试图在BroadcastReceiver注册你的Manifest.xml

但是,我会直接从文档中引用它:

ACTION_TIME_TICK

广播行动:当前时间已经改变。每分钟发送一次。您不能通过在清单中声明的​​组件来接收它,只能通过使用Context.registerReceiver()显式注册它。

--https://developer.android.com/reference/android/content/Intent.html#ACTION_TIME_TICK

您只能通过BroadcastReceiver方法在registerReceiver()Activity中注册Service来接收此广播。

但是,我想提一下,如果您打算创建一个Alarm应用程序,则应该避免使用此广播。

每分钟不断取出时间会导致电池耗尽,特别是如果闹钟需要一段时间响铃。

相反,您应该考虑通过JobSchedulerAlarmManager等服务安排警报。

© www.soinside.com 2019 - 2024. All rights reserved.