如何找出哪个活动启动了触发BroadCastReceiver的意图?

时间:2011-10-23 18:10:00

标签: java android broadcastreceiver

我有一个应用程序,按下按钮可以进行一些调用。 我打电话给一个号码:

Intent callIntent = new Intent(Intent.ACTION_CALL);

callIntent.setData(Uri.parse("tel:"+o.getTel()));
startActivity(callIntent);  

我有一个广播接收器,可以检测到通话结束。  但是这个广播接收器也接收从其他应用程序(例如拨号器应用程序)开始的呼叫。

如何区分从其他应用开始的通话与我的通话开始?

TNX

1 个答案:

答案 0 :(得分:0)

在调用sendBroadcast(intent)之前,请在intent中添加一个额外内容,

例如 i.putExtra(“发件人”,“我的标识符”)

然后在接收器的onReceive

String encodedType = intent.getStringExtra(“sender”);

然后你可以测试这个字符串。