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 odpowiedzi
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.
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ń
Podobne pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.