我正在从应用程序A向应用程序B发送广泛广播,应用程序B具有BroadCastReceiver
来处理意图。
现在,我在App B的onReceive
的BroadcastReceiver
中进行了一些操作,然后我想将结果返回给App A,这样我可以进行回调,并在结果为正数时继续操作。
下面的一些代码。
在应用B中:
public class TripBackupReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context arg0, Intent arg1) {
System.out.println("broadcast Received");
// send result back to Caller Activity
}
}
在应用A中:
Intent intent = new Intent("a_specified_action_string");
sendBroadcast(intent);
任何人都可以对这个问题有任何解决方案,请给我一些建议。谢谢!!
最佳答案
为什么不(从某种程度上)从应用A收到的Intent
发送TripBackupReceiver
?
就像是:
public class TripBackupReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("broadcast Received");
// send result back to Caller Activity
Intent replyIntent = new Intent("a_specified_action_string");
context.sendBroadcast(replyIntent);
}
}
您可以在App A的
Intent
定义中收到此BroadcastReceiver
。或者,也可以使用Context.startActivity(Intent)
方法在App A中启动活动。如果这调用了已经在运行的活动,则可能需要实现
onNewIntent()
。为此,请使用已签名的意图,以防止用户侵入您的意图API。
关于android - 从广播接收器返回结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18867606/