1

所以我有这个问题,我有一些东西要传回活动,但问题是我不知道如何,我已经阅读了一些线程,但它有点模糊和混乱,你们中的任何人都可以对此有所了解. 我只是想从我的接收器(BroadcastReciever)传回一些东西给活动。我已经阅读了一个线程,您可以开始一项活动,但问题是,如果允许将额外的意图传递给活动,会有些混乱吗?感谢您提供的任何输入。

4

2 回答 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 回答