【发布时间】:2011-12-21 21:22:08
【问题描述】:
我可以通过这种方式从 BroadcastReceiver 调用 Activity:
public class AlarmReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
try {
Intent i = new Intent(context, MyActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
Log.v(TAG, "alarm triggered");
} catch (Exception e) {
Log.v(TAG, e.toString());
}
}
}
这会将应用程序带到最前面并在 Activity 上调用 onResume()。我的问题是我无法确定 BroadcastReceiver 是否将我带到onResume() 或只是手动将用户本身带到。有什么方法可以确定 BroadcastReceiver 调用了 Activity?
我还尝试通过 i.putExtra("foo", "bar") 使用 Extras 填充 BroadcastReceiver 的 Intent。我无法通过在 Activity 中调用 MyActivity.getIntent().getExtras().get("foo") 来读出它。
希望有人能帮我解决这个问题,非常感谢!
【问题讨论】:
标签: android android-activity broadcastreceiver