Chcę włączyć/wyłączyć połączenie GSM telefonu z systemem Android. Muszę wyłączyć/włączyć połączenia i SMS-y zgodnie z wymaganiami. Jak mogę to zrobić?Jak programowo wyłączyć połączenie GSM w systemie Android
Odpowiedz
EDIT: To rozwiązanie będzie również wyłączyć WiFi, Bluetooth, itp ...
Jeśli chcesz wyłączyć radio, tylko myślę, że jest to związane z tym numerze: http://code.google.com/p/android/issues/detail?id=1065 Jestem bardzo pesymistycznie o znalezienie dobre rozwiązanie, ale ciekawi innych odpowiedzi.
zobaczyć blogu Android: Controlling Airplane Mode,
// Toggle airplane mode.
Settings.System.putInt(
context.getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);
// Post an intent to reload.
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);
gdzie isEnabled
czy tryb samolotowy jest włączony, czy nie.
Nie zapominaj, że potrzebujesz uprawnienia WRITE_SETTINGS, aby to zrobić.
/* Toggle airplane mode for 1 of the 4 allowed types
* type allowed values: cell, wifi, bluetooth, nfc
*/
private void changeRadioComponentEnabled(Context context, String type, boolean radio_component_enabled, boolean reset){
// now toggle airplane mode from on to off, or vice versa
Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, radio_component_enabled ? 0 : 1);
// now change system behavior so that only one component is turned off
// this also affects the future behavior of the system button for toggling air-plane mode.
// to reset it in order to maintain the system behavior, set reset to true, otherwise we lazily make sure mobile voice is always on
Settings.System.putString(context.getContentResolver(), Settings.System.AIRPLANE_MODE_RADIOS, type);
// post an intent to reload so the menu button switches to the new state we set
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", radio_component_enabled ? false : true);
context.sendBroadcast(intent);
// revert to default system behavior or not
if (reset){ Settings.System.putString(context.getContentResolver(), Settings.System.AIRPLANE_MODE_RADIOS, "cell,bluetooth,wifi,nfc"); }
// if reset to default is not chosen, always enable mobile cell at least
// but only if NOT changing the mobile connection...
else if (type.indexOf("cell") == 0) { Settings.System.putString(context.getContentResolver(), Settings.System.AIRPLANE_MODE_RADIOS, "cell");}
}//end method
naturalnie to wymagać zgody android.permission.WRITE_SETTINGS
i przez bluetooth android.permission.BLUETOOTH_ADMIN
. W przypadku NFC możesz potrzebować android.permission.NFC
.
edytuje: mocno zmodyfikowany od oryginału, ponieważ byłem rzeczywiście przy tym w różny sposób w moim app
Mój telefon ma także wimax w Ustawieniach.System.AIRPLANE_MODE_RADIOS: "komórka, bluetooth, wifi, nfc, wimax". To zaskakujące, ponieważ ten telefon nie obsługuje technologii 4G WiMax! – pmont
- 1. Jak można programowo wyłączyć/włączyć 3G w systemie Android?
- 2. Czy programowo można wyłączyć tryb cichy w systemie Android?
- 3. Czy można przekazać połączenie VoIP do GSM
- 4. jak programowo wyłączyć korekcję pisowni w Androidzie
- 5. Jak wyłączyć przewijanie GridView w systemie Android?
- 6. Jak wyłączyć klikanie ListView w systemie Android?
- 7. Jak programowo utworzyć menu w systemie Android?
- 8. Jak zamienić widok programowo w systemie Android?
- 9. Jak programowo usuwać pliki w systemie Android?
- 10. Jak mogę włączyć GPS programowo w systemie Android?
- 11. Połączenie głosowe za pośrednictwem modemu GSM
- 12. Jak programowo otwierać program wybierania numerów w systemie Android?
- 13. Jak programowo wyłączyć/włączyć tryb uśpienia w systemie iOS?
- 14. Jak programowo włączyć i wyłączyć tryb Flight na Android 4.2?
- 15. Odpowiedź Połączenie przychodzące w systemie Android 6.0
- 16. Jak programowo zapomnieć o sieci bezprzewodowej w systemie Android?
- 17. Jak programowo wyłączyć maxLines TextView?
- 18. Jak programowo zakończyć połączenie w wersji 2.3+?
- 19. Zmiana wysokości AppBarLayout programowo w systemie Android
- 20. Jak włączyć/wyłączyć wszystkie dźwięki z ustawień dostępności programowo w systemie Android?
- 21. programowo ustaw edycję tekstu w systemie Android?
- 22. Jak wyłączyć dowolne zdarzenie w widoku w systemie Android?
- 23. Jak sprawdzić, czy połączenie wychodzące jest odbierane, w systemie Android?
- 24. Jak wyłączyć/włączyć połączenie sieciowe w C#
- 25. Jak programowo wykonać połączenie telefoniczne?
- 26. Jak zatrzymać programowanie wideo w VideoView programowo w systemie Android?
- 27. Jak wyłączyć tryb wielowidokowy dla działania w systemie Android N +
- 28. Wyłączyć urządzenie programowo
- 29. Jak programowo wyłączyć moduł Orchard?
- 30. Jak odrzucić połączenie programowo w Androidzie
+1 dobrym rozwiązaniem –
Kiedy można przełączyć telefon w tryb samolotowy będzie również tłumić wi-fi i bluetooth. Nie sądzę, że to jest to, czego się spodziewamy. Podstawowym zadaniem było wyłączenie tylko połączenia GSM ... – barmaley
yes.i już wypróbowane z airplanemode. To wyłącza również bluetooth.Ale chcę wyłączyć tylko połączenia i sms jest to możliwe ????? i wyłączone GPRS. Czy jest dostępna jakakolwiek metoda? – Ram