Caller ID на Android - Как подавить / задержать экран входящего вызова по умолчанию? - PullRequest
3 голосов
/ 13 апреля 2011

Мы разрабатываем приложение Caller ID, и до сих пор мы можем заменить экран входящего вызова по умолчанию на собственный экран макета / идентификатора вызывающего абонента, следующий за http://developer.android.com/reference/android/telephony/TelephonyManager.html на CALL_STATE_RINGING

Однако проблема заключается в том, что мыПоворот выглядит следующим образом:
a) Когда телефон получает входящий вызов, экран входящего вызова по умолчанию получает приоритет и отображается немедленно
b) через 1-2 секунды появляется наш экран идентификации вызывающего абонента.мы хотим полностью / полностью исключить / отменить / задержать экран входящих вызовов по умолчанию, чтобы пользовательский опыт был лучше.

Ответы [ 2 ]

5 голосов
/ 13 апреля 2011

Я не нашел способа полностью отключить экран по умолчанию.Однако меньшая задержка (500 мсек) перед startActivity работает для меня хорошо.Кроме того, у меня есть следующие флаги в моем намерении, чтобы начать свою пользовательскую деятельность.Мой код выглядит примерно так:

if (TelephonyManager.EXTRA_STATE_RINGING.equals(state))
        {
            SystemClock.sleep(500 * 1);
            Log.d("MPR", "Its Ringing [" + number + "]");
            Intent startMain = new Intent();
            startMain.setClassName("com.foo.TIC", "com.foo.TIC.TestInComing");
            startMain.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_USER_ACTION);
            startMain.putExtra("PNO", number);
            context.startActivity(startMain);
        }
0 голосов
/ 14 марта 2012

Если мы используем Broadcast Recieiver, то можно использовать наше собственное диалоговое окно и экран.

...