数据连接启用的Android服务中/禁用code崩溃 [英] Data connection enable/disable code crashes inside a android service
本文介绍了数据连接启用的Android服务中/禁用code崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
void turnData(boolean ON)
{
final ConnectivityManager conman = (ConnectivityManager) getApplicationContext().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, ON);
}
以上code是启用/ android中2禁用数据连接。
3+。
它的工作原理没有,当我在一个活动运行任何错误。但是,当我试图运行服务中的应用程序崩溃。谁能告诉我为什么会这样?
The above code is to enable/disable Data Connection in android 2. 3+. It works without any errors when I run it in an Activity. But when i tried to run it inside a service the application crashed. Can anyone tell me why this happened?
推荐答案
问题通过添加以下额外的权限清单文件解决:
Problem solved by adding the following additional permissions to the Manifest file:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
这篇关于数据连接启用的Android服务中/禁用code崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文