Próbuję wysłać transmisję symulującą połączenie przychodzące. Dodałem uprawnienia w pliku AndroidManifest.xml,

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

Gdy próbuję uruchomić program, telefon uruchamia się ponownie.(emulator też).

  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
dcanh121 14 czerwiec 2011, 03:36

2 odpowiedzi

Najlepsza odpowiedź

Mogę się mylić, ponieważ nie mogę znaleźć niczego w dokumentach, ale powiedziałbym, że nie można „podrobić” audycji z dzwonkiem. Jest prawie na pewno zarezerwowany jako „tylko system”.

Pomyśl o tym – jeśli aplikacje mogą to zrobić, może to po prostu spowodować „psiecie”, a nie coś złośliwego, ale nie jest to coś, co chciałbym zrobić na moim telefonie.

Stwórz własną akcję „dzwonka telefonu”, której możesz użyć do celów testowych, i pozwól, aby Twój odbiornik nasłuchiwał jej. Kiedy przyjdziesz wydać aplikację, po prostu zmień filtr intencji BroadcastReceiver, aby nasłuchiwać prawdziwego.

4
Squonk 14 czerwiec 2011, 03:51

Pobrałem niektóre fałszywe aplikacje Caller ze sklepu Play i przetestowałem je. Odkryłem, że aplikacja podnosi zdarzenie, które wyświetla wcześniej wspomniany GUI na górze ekranu blokady i dodaje wpis do dzienników połączeń za pomocą metody wstawiania ContentResolver.

Aplikacja nie korzysta z wbudowanego mechanizmu Calling (Broadcast). po prostu fałszuje GUI na ekranie i odtwarza domyślny dzwonek/wibracje.

Zgodnie z moją wiedzą uważam, że nie można sfałszować transmisji dzwonienia połączeń

0
Jayesh Baviskar 27 czerwiec 2018, 12:42