Как я могу скрыть / отменить входящий экран по умолчанию - PullRequest
5 голосов
/ 04 марта 2012

В настоящее время я перехватываю вызов и переадресовываю его на свою настраиваемую функцию «oncallscreen». Однако, прежде чем попасть на мой экран, он будет мигать по умолчанию "oncallscreen". Как я могу скрыть / отменить этот экран, чтобы при получении вызова я получал только свой собственный экран.

@Override
public void onReceive(Context context, Intent intent) {
    Bundle extras = intent.getExtras();
    if (extras != null) {
        String state = extras.getString(TelephonyManager.EXTRA_STATE);
        Log.w("DEBUG", state);
        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            String phoneNumber = extras
                    .getString(TelephonyManager.EXTRA_INCOMING_NUMBER);

1 Ответ

1 голос
/ 02 мая 2012

Вам необходимо перехватить трансляцию android.intent.action.PHONE_STATE с наивысшим возможным приоритетом, тогда, если в вашем BroadcastReceiver.onReceive() вы отмените трансляцию через BroadcastReceiver.abortBroadcast(), вы сможете остановить показ экрана по умолчанию для входящего вызова, поскольку приложение по умолчанию выиграло ' Прием входящего звонка. После этого вы можете свободно показывать свою активность.

...