我将附加内容传递给调用并捕获它们时遇到了问题。
更清楚地说明我打算做什么:
开始通话并为此意图设置额外内容。这就是我目前的代码:
Intent dialIntent=new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + this.number));
dialIntent.putExtra("foo", true);
startActivity(dialIntent);
我实现了一个BroadcastReceiver来“捕获”这个调用,并希望在启动活动时访问我设置的额外内容。这就是我在我的清单中所拥有的:
<receiver android:name=".CallReceiver">
<intent-filter android:priority="1">
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
不幸的是,传递给我的CallReceiver的意图是NEW_OUTGOING_CALL意图。
我希望我很清楚我想做什么,希望有可能。
提前致谢。
答案 0 :(得分:1)
在这里你实际上想要制作另一个“默认拨号器”活动,而不是在这里使用BroadcastReciever,但是这个活动将具有更高的优先级,以确保它将在本机拨号器应用之前启动。然后你可以像这样改变意图:
public void onCreate(Bundle b){
Intent i = getIntent();
//alter i here
startNextMatchingActivity(i);
}
希望这有帮助!