即使应用关闭,如何获得时间更改广播

时间:2016-05-06 06:36:21

标签: java android broadcastreceiver android-broadcast android-broadcastreceiver

我有一个应用程序,对我来说检测时间变化很重要。到目前为止,我的接收器具有适当的意图过滤器,如下所示:

Select * from  xmltable('/ROWSET/ROW'
PASSING xmltype(tryit('MyTable_Name','condition = conditionParameter and  condition2=Parameter2'))
columns
Col1  PATH 'Col1',
Col2  PATH 'Col2',
Col3  PATH 'Col3' ,
Col4  PATH 'Col4')

这是我的接收者:

<receiver
  android:name=".MyReceiver"
  android:enabled="true"
  android:exported="true">
  <intent-filter>
    <action android:name="android.intent.action.TIME_SET" />
    <action android:name="android.intent.action.ACTION_TIME_CHANGED" />
    <action android:name="android.intent.action.DATE_CHANGED" />
  </intent-filter>
</receiver>

此接收器仅在应用程序在后台打开时才有效。即使应用程序关闭,我怎样才能让这个接收器工作?

1 个答案:

答案 0 :(得分:0)

由于应用程序已关闭,因此没有UI(即没有活动)来显示Toast。此时,Logcat中应该有一个例外。您也可以在显示Toast之前添加一个logcat跟踪,例如Log.d("MyReceiver", "in onCreate()");,即使应用程序关闭,您也应该看到它。

您可以发送local notification,而不是显示Toast,这是允许的,因为它不需要您应用中的活动。