6

Android の連絡先アプリのソースをしばらく掘り下げて、どの Activity が を処理するかを調べましたIntent.ACTION_CALL_PRIVILEGED。残念ながら、そのソースコードは見つかりませんでした。誰かがそれがどのように呼ばれているか知っていますか、それともどこでソースを見つけることができますか? ありがとうございました!

4

1 に答える 1

11

奇妙なことに、Phone アプリケーションは通話関連のイベントを処理します。;)

ActivityManagerlogcat で出力を見て、どのコンポーネントが特定の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出力が得られます。

アクティビティの開始: 意図 {
    act=android.intent.action.CALL_PRIVILEGED
    dat=tel:12345
    flg=0x10000000
    cmp=com.android.phone/.PrivilegedOutgoingCallBroadcaster
}

これは、com.android.phoneアプリケーションがこの特定の を処理することを示していますIntent

于 2010-02-19T14:53:26.540 に答える