1

私のコードの簡略化された部分を以下に示します。重要な部分は、通話状態が CALL_STATE_RINGING で通話が着信のときに電話番号を取得したことです。ここで、通話が発信されたときの電話番号も必要です (つまり、受信側の電話番号)。ここで何が欠けていますか?

@Override
public void onCallStateChanged(int state, String number) {
    Log.d("BackgroundService", "State: "+  state +" Number: " + number);
}

telephonyManager.listen(phoneStateListener,
                PhoneStateListener.LISTEN_CALL_STATE);
4

1 に答える 1

2

ACTION_NEW_OUTGOING_CALL を使用してブロードキャスト レシーバーを登録します。onReceive コールバック関数では、発信コールの数がわかります

    public void onReceive(Context context, Intent intent) {
            String phone = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
        }

そしてもちろん、許可を使用しますandroid.permission.PROCESS_OUTGOING_CALLS

于 2013-03-12T16:42:20.170 に答える