Получить номер, который я звоню в Android

Мне нужно программно получить номер, по которому я звоню, с моего устройства Android. Что я делаю сейчас, так это следующее:

Я слушаю android.intent.action.PHONE_STATE трансляция означает, что либо мне звонят, либо я звоню (или получаю SMS и т. д.).

В BroadcastReceiver Я извлекаю лишнее incoming_number из намерения. К сожалению, я не могу получить номер, который вызывается, если я инициирую звонок, хотя. Как я могу это сделать?

2 ответа

Решение

Вам нужно использовать намерение android.intent.action.NEW_OUTGOING_CALL в этом смысле вы можете получить дополнительную Intent.EXTRA_PHONE_NUMBER который содержит исходящий номер.

Намерение выдается, если новый исходящий вызов вступил в силу.

Вам нужно разрешение android.permission.PROCESS_OUTGOING_CALLS за это.

Надеюсь, это поможет.

@Override
public void onReceive(Context context, Intent intent) {
    String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    Log.d("OutgoingCallReceiver",phonenumber);
    Log.d("OutgoingCallReceiver",intent.getExtras().toString());
}
Другие вопросы по тегам