5

現在、Androidでの通話傍受は可能ですか?電話をかけたときに電話番号を取得できるレベルまで。

4

2 に答える 2

4

はい、できます.... BroadcastReceiverを拡張し、onReceiveを次のようにオーバーライドします

public class CallListener extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
            String phoneNumber = intent.getExtras().getString(Intent.EXTRA_PHONE_NUMBER);
            System.out.println(phoneNumber);

            if (phoneNumber != null&& CallService.phoneNumber.equals("ANY_NUMBER_YOU_WANNA_INTERCEPT_ON")) {

                //do what you want to do :)
            }
        }

    }

次のように、AndroidManifest.xmlにBroadcastReceiverを追加する必要があります。

<receiver android:name=".CallListener" android:permission="android.permission.PROCESS_OUTGOING_CALLS">
        <intent-filter>
            <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
        </intent-filter>
 </receiver>
于 2012-04-12T17:53:34.490 に答える
1

PhoneStateListenerは、カスタムブロードキャストレシーバーで使用できますonCallStateChanged(int state, String incomingNumber)

<uses-permission android:name="android.permission.READ_PHONE_STATE" />( AndroidManifestにも必要です。)

于 2011-05-04T14:44:27.903 に答える