Как передать дополнения в BroadcastReceiver - PullRequest
2 голосов
/ 09 марта 2011

У меня проблема с передачей дополнительных звонков и их перехватом.

Чтобы прояснить, что я собираюсь сделать:

Начните звонок и установите дополнительные функции для этого намерения. Вот как выглядит мой текущий код для этого:

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.

Я надеюсь, что ясно, что я хочу сделать, и я надеюсь, что это возможно.

Заранее спасибо.

1 Ответ

1 голос
/ 09 марта 2011

Вместо того, чтобы использовать BroadcastReciever здесь, вы на самом деле хотите сделать еще одно действие «номеронабирателя по умолчанию», но у этого будет более высокий приоритет, чтобы гарантировать, что оно будет запущено до собственного приложения номеронабирателя.Затем вы можете изменить намерение следующим образом:

public void onCreate(Bundle b){
    Intent i = getIntent();
    //alter i here 
    startNextMatchingActivity(i);
}

надеюсь, это поможет!

...