Как отправить фальшивый вызов трансляции на андроид - PullRequest
2 голосов
/ 14 июня 2011

Я пытаюсь отправить трансляцию для имитации входящего вызова. Я добавил разрешение в файл AndroidManifest.xml,

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

Когда я пытаюсь запустить программу, телефон перезагружается. (Эмулятор тоже).

  Intent intent = new Intent();
    intent.setAction("android.intent.action.PHONE_STATE");
    intent.putExtra(TelephonyManager.EXTRA_STATE, TelephonyManager.CALL_STATE_RINGING);
    intent.putExtra("EXTRA_INCOMING_NUMBER", "923982398");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    sendBroadcast(intent);

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Возможно, я ошибаюсь, поскольку ничего не могу найти в документах, но я бы сказал, что невозможно «подделать» передачу вызова.Он почти наверняка зарезервирован как «только система».

Подумайте об этом - если приложения могут сделать это, это может просто привести к «вреду», а не к чему-либо злонамеренному, но это не то, что я бы хотелпроизойдет на моем телефоне.

Создайте свое собственное действие "телефонный звонок", чтобы использовать его в целях тестирования, и ваш BroadcastReceiver прослушивает его.Когда вы придете к выпуску приложения, просто измените фильтр намерений BroadcastReceiver, чтобы прослушать настоящий.

0 голосов
/ 27 июня 2018

Я скачал некоторые фальшивые приложения для звонящих из магазина игр и проверил их.Я обнаружил, что приложение вызывает событие, которое отображает вышеупомянутый графический интерфейс в верхней части экрана блокировки и добавляет запись в журналы вызовов, используя метод вставки ContentResolver.

Приложение не использует встроенный механизм вызова (широковещания).он просто подделывает графический интерфейс на экране и воспроизводит рингтон / вибрацию по умолчанию.

Насколько мне известно, я думаю, что невозможно подделать трансляцию звонка

...