我正在寫報警代碼並使用廣播接收器。我能夠接收廣播接收器。但現在我想回到調用活動並更新我的活動的UI。我無法做到這一點。 我在我的活動中使用了以下代碼,但它永遠不會執行該代碼。當廣播接收器觸發報警時,更新呼叫活動的UI或開始新的活動
private BroadcastReceiver myBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "I am back!!", Toast.LENGTH_LONG).show();
}
};
@Override
protected void onPause()
{
super.onPause();
unregisterReceiver(myBroadcastReceiver);
}
@Override
protected void onResume()
{
super.onResume();
IntentFilter intentFilter = new IntentFilter("com.test.Main");
registerReceiver(myBroadcastReceiver, intentFilter);
}
在我已經包括以下清單文件
,這裏gotAlarm是廣播接收文件
<receiver android:name=".gotAlarm"
android:enabled="true">
</receiver>
gotAlarm文件是其中一個會從報警的未決意圖稱爲設置
public class gotAlarm extends BroadcastReceiver {
public void onReceive(Context context, Intent intent){
Toast.makeText(context, "Wake Up!!", Toast.LENGTH_LONG).show();
}
}
可能是我缺少一些非常基本的東西。 請幫忙。
這是一個鬧鐘代碼,我試圖更新活動的UI,如果它在前臺。如果不是,那麼只要它打開並且滿足某些條件,就應該更新它自己。現在我正在專注於第一部分,即每當有鬧鐘時間時它應該更新UI。我知道這是可行的,因爲很多人可能成功地做到了。但我在這裏修復: - | – 2011-04-24 19:37:05
當我第一次啓動我的應用程序時,我看到onResume()方法正在調用。之後,當警報不是onPause()或onResume被調用時。 – 2011-04-25 04:05:05
我現在改變了我的方法。因爲我沒有發現它正在運行: - |現在,我正在將數據從活動發送到廣播,然後從此廣播中啓動新活動並將數據傳遞到此新活動。我會很快發佈代碼。 – 2011-04-26 07:18:03