私のアプリは、モバイルデータを介して接続する必要がある場合があります。私は特定のアプリがモバイルデータだけを使用できるようにするアプリがあることを知っています。私はアプリでWi-Fiをどのようにオフにできるのか知っています。しかし、私のアプリにモバイル接続を使用するように指示する方法はありますか?AndroidアプリにWi-Fiをオフにせずにモバイルデータを使用させる
0
A
答えて
0
私はルート付き電話機でのみ機能する回避策を使用します。
setMobileDataEnabledメソッドがConnectivityManagerから削除されましたが、この機能のためにgetDataEnabledとsetDataEnabledの2つのメソッドがTelephonyManagerに追加されました。
public void setMobileDataState(boolean mobileDataEnabled)
{
try
{
TelephonyManager telephonyService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Method setMobileDataEnabledMethod = telephonyService.getClass().getDeclaredMethod("setDataEnabled", boolean.class);
if (null != setMobileDataEnabledMethod)
{
setMobileDataEnabledMethod.invoke(telephonyService, mobileDataEnabled);
}
}
catch (Exception ex)
{
Log.e(TAG, "Error setting mobile data state", ex);
}
}
public boolean getMobileDataState()
{
try
{
TelephonyManager telephonyService = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Method getMobileDataEnabledMethod = telephonyService.getClass().getDeclaredMethod("getDataEnabled");
if (null != getMobileDataEnabledMethod)
{
boolean mobileDataEnabled = (Boolean) getMobileDataEnabledMethod.invoke(telephonyService);
return mobileDataEnabled;
}
}
catch (Exception ex)
{
Log.e(TAG, "Error getting mobile data state", ex);
}
return false;
}
しかし、あなたはそうしないと、SecurityExceptionを取得するマニフェストファイルにこの権限(MODIFY_PHONE_STATE)を追加する必要があります。
0
アプリごとに通信チャネルを明示的に強制することはできません(ConnectivityManager.setNetworkPreference(...)
で優先モードの使用をリクエストできますが、強制的に使用することはできません)。
// and to be sure:
ConnectivityManager.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);
関連する問題
- 1. wifi P2Pをネットワークに接続せずに
- 2. AirPrintを使用せずにiPadアプリからプリントするには?
- 3. rawQuery()を使用せずにAndroidでクエリに関連するテーブル
- 4. Android Studioを使用せずにAndroidアプリを作成するにはどうすればよいですか?
- 5. Rails Webアプリからsmtpを使用せずにメールを送信
- 6. Android:.apkを使用せずにWiki tudeフレームワークを使用するには?
- 7. データベースを使用せずにiphoneアプリに情報を保存する方法
- 8. blobstore.create_upload_urlを使用せずにBlobstoreにアップロード
- 9. AndroidのSmsManagerを使用せずにSMSを送信..ネイティブライブラリ?
- 10. REを使用せずにDateTimeを使用するには?
- 11. QMLを使用せずにQVirtualKeyboardプラグインを使用するには?
- 12. DatePickerDialogを使用せずにOnDateChangedListener、OnDateSetListenerを使用するには?
- 13. Eclipseを使用せずにAndroidアプリをデバッグするにはどうすればよいですか?
- 14. AndroidでsetOnItemLongClickListenerを使用せずにOnItemLongClickListenerを使用する方法は?
- 15. Native Clientアプリを構築せずに
- 16. Clickonceを使用せずにVSTOをインストール
- 17. android webviewでsslを使用せずにhttps urlをロードするには
- 18. SDKを使用せずにAndroidからAmazon S3にファイルをアップロードする方法
- 19. モバイルデータの使用
- 20. idt gdtを使用せずにgrub
- 21. Javaバイトコードにコンパイル(Javaを使用せず)
- 22. ファイルを使用せずにサブプロセスパイプstdin
- 23. jQueryを使用せずにオートコンプリートして
- 24. Storyboardsを使用せずにプログラムで
- 25. TextViewはAndroidでaddViewを使用せずに表示されます
- 26. 私のアプリをフリーズせずにループを実行するには?
- 27. サーバーを使用せずにHTMLページでXMLを使用する
- 28. Handlebarsを使用せずにEmber.jsを使用する方法
- 29. DataGridを使用せずにテーブルを使用する
- 30. WebViewを使用せずにWebサイト情報を使用する
何が管理者に必要ですか?あなたの最初の行は何もしませんか? – Ginso
はいコードを編集しましたが、その時点でWi-Fiをオフにする必要があります – Pitty