Android携帯のGSM接続を有効/無効にしたいとします。必要に応じて通話とSMSを無効/有効にする必要があります。どうすればいい?AndroidでGSM接続をプログラムで無効にする方法
答えて
EDIT:このソリューションはまた、あなたが唯一の無線をオフにしたい場合は、私はそれがこの問題に関連と思う...など、
をブルートゥースを無線LANをオフにします:http://code.google.com/p/android/issues/detail?id=1065 私は見つけることについて本当に悲観的です良い解決策ですが、他の答えを見て好奇心。
は、ブログの記事Android: Controlling Airplane Mode、
isEnabled
は機内モードが有効になっているかどうかである
// 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);
を参照してください。
これを行うには、WRITE_SETTINGS権限が必要であることを忘れないでください。
/* 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
当然、これは許可android.permission.WRITE_SETTINGS
、およびBluetooth android.permission.BLUETOOTH_ADMIN
のためにする必要があります。 NFCの場合、android.permission.NFC
が必要になる場合があります。
EDITS:私は実際には別の方法でこれを使用していたので、重く
私の電話には、Settings.System.AIRPLANE_MODE_RADIOSに「wimax」というセルがあります。「cell、bluetooth、wifi、nfc、wimax」。この電話は4G WiMaxをサポートしていないので、これは驚くべきことです! – pmont
- 1. AndroidでWIFI自動接続を無効にする方法
- 2. 永続的なプロキシ接続を無効にする方法
- 3. プログラムでインターネット接続を有効にする(Android)
- 4. USBデバイスをプログラムで接続して再接続する方法
- 5. ブックの接続を無効にする
- 6. ボタンでアクションメソッドをプログラムで無効にする方法
- 7. アンドロイドでプログラムで綴り修正を無効にする方法
- 8. クロムでjavascriptをプログラムで無効にする方法
- 9. コアデータ「接続が無効です」
- 10. Androidで安全でないキーガードをプログラムで無効にする
- 11. C#でプログラムでSQL Serverに接続する方法?
- 12. C#Win CE 5でGPRSにプログラムで接続する方法
- 13. プログラムでブラウザのキャッシュを無効にする方法
- 14. Android NavigationViewが表示されるたびにアイテムをプログラムで無効にして有効にする方法
- 15. WiFi接続でサムスンの「自動ネットワークスイッチ」を無効にする
- 16. jqueryダイアログフォームポップアップでfacebook接続ボタンを無効にする
- 17. mysqld_safeインターネット接続が無効
- 18. プログラムでIIS 7に接続する方法
- 19. qtでsqliteに接続してandroidで実行する方法
- 20. Grails - 実行中のスクリプトのdb接続を無効にする方法
- 21. 低帯域幅接続のjqueryインクルードを無効にする方法
- 22. インターネット接続を有効/無効にするコード
- 23. AndroidのWiFi接続をプログラム的に
- 24. プログラムでIEプロキシの設定を有効/無効にする方法は?
- 25. AndroidのCloud Endpoints BuilderでGZipContentを無効にする方法
- 26. Androidスタジオでマニフェストマージを無効にする方法
- 27. Androidアサートを無効にする方法(WindowsのEclipseで)
- 28. SilverlightをWCFにプログラムで接続する
- 29. プログラムでスプリングセキュリティを無効にする
- 30. キャップロックをプログラムで無効にする
+1良い解決策は、あなたが機内モードに電話を切り替えますときにもWi-Fiを提供して抑制します –
自分のアプリで、元以降に変更とブルートゥース。私はそれが期待されるものだとは思わない。プライマリタスクは、GSM接続のみを抑制することでした... – barmaley
yes.iは既にairplanemodeで試しました。それはブルートゥースも無効になります。しかし、私は電話とSMSを無効にしたいのですか?私はGPRSを無効にしました。任意の方法はavailbleですか? – Ram