所以我有这个问题,我有一些东西要传回活动,但问题是我不知道如何,我已经阅读了一些线程,但它有点模糊和混乱,你们中的任何人都可以对此有所了解. 我只是想从我的接收器(BroadcastReciever)传回一些东西给活动。我已经阅读了一个线程,您可以开始一项活动,但问题是,如果允许将额外的意图传递给活动,会有些混乱吗?感谢您提供的任何输入。
问问题
158 次
2 回答
2
可能重复的答案https://stackoverflow.com/a/6857648/760489
当您从广播接收器启动活动时,您可以通过在意图中设置标志来做到这一点
public void onReceive(Context context, Intent intent){
Intent i = new Intent(context, DestinationActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
i.putExtra("PATH", path);
context.startActivity(i);
}
FLAG_ACTIVITY_SINGLE_TOP 确保应用程序在已经打开的情况下不会重新打开。这意味着首先打开 YourActivity 的“旧”意图被重新使用,它不会包含额外的值。您必须在 YourActivity 中另一个名为 onNewIntent() 的方法中捕获它们。
从顶部链接查看完整答案
于 2012-09-24T11:36:16.990 回答
1
试试这个:
public void onReceive(Context context, Intent intent)
{
Intent i = new Intent(context, DestinationActivity.class);
i.putExtra("PATH", path);
context.startActivity(i);
}
于 2012-09-24T08:47:09.450 回答