这个问题已经有了答案:
The setMobileDataEnabled method is no longer callable as of Android L and later
8答
在android中,如何在android 4.4及更高版本中启用移动数据开/关。
我使用过这段代码,但它在Android 4.4及以上版本中不起作用:
private void setMobileDataEnabled(Context context, boolean enabled){
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);
}
最佳答案
您无法访问Android 4.4上的移动数据开/关程序。出于安全原因,已将其停止,您可以使用对话框要求用户启用移动数据,然后如果用户启用,则可以执行任务。