我正在写报警代码并使用广播接收器。我能够接收广播接收器。但现在我想回到调用活动并更新我的活动的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