Какое действие обрабатывает Intent.ACTION_CALL_PRIVILEGED? - PullRequest
6 голосов
/ 19 февраля 2010

Я некоторое время копался в источнике приложения Contacts на Android, чтобы узнать, какое действие обрабатывает Intent.ACTION_CALL_PRIVILEGED. К сожалению, я не смог найти его исходный код. Кто-нибудь знает, как это называется, или даже лучше, где я могу найти его источник? Спасибо!

1 Ответ

11 голосов
/ 19 февраля 2010

Как ни странно, Телефонное приложение обрабатывает события, связанные с вызовами.;)

Вы можете посмотреть вывод ActivityManager в logcat, чтобы увидеть, какой компонент обрабатывает конкретный Intent.

Из исходного кода контактов:

Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
    Uri.fromParts("tel", number, null));
startActivity(intent);

Выможет воспроизвести это Intent в командной строке:
adb -e shell am start -a android.intent.action.CALL_PRIVILEGED -d tel:12345

, что приводит к следующему (красиво отформатированному) выводу logcat:

Starting activity: Intent { 
    act=android.intent.action.CALL_PRIVILEGED 
    dat=tel:12345
    flg=0x10000000
    cmp=com.android.phone/.PrivilegedOutgoingCallBroadcaster
}

Это показывает, чтоПриложение com.android.phone обрабатывает этот конкретный Intent.

...