android:将某些东西传回广播接收者的活动

时间:2012-09-24 08:40:02

标签: android

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

2 个答案:

答案 0 :(得分: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()的方法中捕获它们。

查看顶部链接的完整答案

答案 1 :(得分:1)

试试这个:

public void onReceive(Context context, Intent intent)
{

    Intent i = new Intent(context, DestinationActivity.class);
    i.putExtra("PATH", path);
    context.startActivity(i);
}