【发布时间】:2013-07-10 02:23:00
【问题描述】:
我搜索了一个looooooot,但没有找到我想要的。
我正在尝试制作一个用户可以通过按下每个按钮来打开和关闭的应用。
我发现了一些使用反射的代码(我将使用 android 2.3 及更高版本),但我不知道如何调整它以与按钮一起使用。
我搜索反射是如何工作的,我花了很多时间寻找其他方法来做到这一点,但是……任何人都为我工作。
最糟糕的问题是我发现的代码和示例没有使用异常(抛出或尝试捕获),所以我不知道如何使用它们。
这是我在此处找到的代码,但我不知道如何在按钮单击中使用它(或将其称为 true 或 false,以启用和禁用 3G/移动数据)。
有人可以帮助我吗?
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);
}
链接到我找到此代码的位置: How can i turn off 3G/Data programmatically on Android?
【问题讨论】:
-
请在哪里找到这段代码,谢谢。
-
您的问题不是关于如何启用 3G ,而是为按钮分配功能。
-
没错,我想修改此代码以使用按钮。