我想每分钟检查一次制作警报应用的时间,但是当我在接收器中时
<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();
}
我的应用无法正常工作或无法执行任何操作 我搜索的次数越来越多,但是没有什么用,希望有人帮助我
答案 0 :(得分: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
来接收此广播。
但是,我想提一提,如果您打算创建“闹钟”应用,则应避免使用此广播。
每分钟不断获取时间可能会耗尽大量电池,尤其是在闹钟响了一段时间的情况下。
相反,您应该考虑通过JobScheduler
或AlarmManager
之类的服务安排警报。