このコードサンプルは、ジンジャーブレッド以降を実行しているAndroidフォンで機能するはずです。
private void setMobileDataEnabled(Context context, boolean enabled)
{
final ConnectivityManager conman = (ConnectivityManager)
final ConnectivityManager conman = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
}
これには、次の許可も必要です。
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>