電話をかけるアクティビティがあります:
public void call(String number) {
Intent intent = new Intent("android.intent.action.CALL");
intent.setData(Uri.parse("tel:" + number));
intent.putExtra("MY_EXTRA", "Hello");
startActivity(intent);
finish();
}
通話用のブロードキャスト レシーバーをセットアップしました。
public class OutgoingCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Extra", intent.getStringExtra("MY_EXTRA", "Default"));
}
}
}
そしてそれを登録しました:
<receiver android:name=".OutgoingCallReceiver">
<intent-filter android:priority="-1">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
放送受信機は動作します。ただし、イベントをダイヤラーから受け取るかアクティビティから受け取るかに関係なく、余分なものはありません。
エクストラが進まないのはなぜですか?