ConnectivityManager manager = (ConnectivityManager)
context.getSystemService(CONNECTIVITY_SERVICE);
setMobileDataEnabled は private method なので、リフレクションを使って呼び出します。
Method method = manager.getClass().getMethod("setMobileDataEnabled", new Class[] { Boolean.TYPE });
method.setAccessible(true);
method.invoke(manager, false);
モバイルデータ通信を無効になったかどうかは getMobileDataEnabled を使って調べますがこちらも private なのでリフレクションで。setAccessible は不要です。
Method method = manager.getClass().getMethod("getMobileDataEnabled");
boolean mobile = (Boolean) method.invoke(manager);
Manifest にパーミッションが必要なのでお忘れなく。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
0 件のコメント:
コメントを投稿