Получить номер, который я звоню в 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());
}