Как узнать, с какого действия началось намерение, вызвавшее ваш BroadCastReceiver? - PullRequest
1 голос
/ 23 октября 2011

У меня есть приложение, в котором можно совершать звонки при нажатии кнопки. Я звоню по номеру с:

Intent callIntent = new Intent(Intent.ACTION_CALL);

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

У меня есть приемник вещания, который обнаруживает завершение вызова. Но этот широковещательный приемник также принимает вызовы, запущенные из других приложений (например, приложения для набора номера).

Как я могу отличить звонки, начатые из других приложений, от звонков, начатых в моем?

Tnx

1 Ответ

0 голосов
/ 23 октября 2011

Прежде чем вызывать sendBroadcast (намерение), добавьте к нему дополнительно:

например, i.putExtra ("отправитель", "мой идентификатор")

Затем в onReceive получателя

String encodedType = intent.getStringExtra ("sender");

Затем вы можете проверить эту строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...