Android 根设备:切换移动网络访问不工作
我刚刚在我的设备上建立了根目录(已验证:),并安装了Linage 16(Android 9) 我这样做的原因是因为我需要禁用我的移动网络,然后重新启用它,以便从我的移动服务提供商那里获得新的IP地址。这一切都必须从应用程序本身自动完成。因此,手动断开和重新连接并不能解决我的特殊情况 因此,我做了一些研究,我发现,例如,这里应该启用移动网络切换: 这说明了如何请求根权限: 这里解释了如何正确设置Manifest.xml: 所以,我得到的是这样的东西:Android 根设备:切换移动网络访问不工作,android,Android,我刚刚在我的设备上建立了根目录(已验证:),并安装了Linage 16(Android 9) 我这样做的原因是因为我需要禁用我的移动网络,然后重新启用它,以便从我的移动服务提供商那里获得新的IP地址。这一切都必须从应用程序本身自动完成。因此,手动断开和重新连接并不能解决我的特殊情况 因此,我做了一些研究,我发现,例如,这里应该启用移动网络切换: 这说明了如何请求根权限: 这里解释了如何正确设置Manifest.xml: 所以,我得到的是这样的东西: <?xml version="1.0"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" tools:ignore="ProtectedPermissions"/>
<application....
当我执行此代码时,会出现以下异常:
W/System.err: java.lang.SecurityException: setUserDataEnabled
W/System.err: at android.os.Parcel.createException(Parcel.java:1950)
W/System.err: at android.os.Parcel.readException(Parcel.java:1918)
W/System.err: at android.os.Parcel.readException(Parcel.java:1868)
W/System.err: at com.android.internal.telephony.ITelephony$Stub$Proxy.setUserDataEnabled(ITelephony.java:4631)
W/System.err: at android.telephony.TelephonyManager.setDataEnabled(TelephonyManager.java:6453)
W/System.err: at android.telephony.TelephonyManager.setDataEnabled(TelephonyManager.java:6430)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.example.app.MainActivity.toggleMobileNetwork(MainActivity.java:51)
W/System.err: at com.example.app.MainActivity.disableMobileNetwork(MainActivity.java:41)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
那么,有人知道我在这里要做什么吗?好的,在做了一些额外的研究之后,我在这里发现了另一种解决方案,它非常有效 正是我所需要的:
W/System.err: java.lang.SecurityException: setUserDataEnabled
W/System.err: at android.os.Parcel.createException(Parcel.java:1950)
W/System.err: at android.os.Parcel.readException(Parcel.java:1918)
W/System.err: at android.os.Parcel.readException(Parcel.java:1868)
W/System.err: at com.android.internal.telephony.ITelephony$Stub$Proxy.setUserDataEnabled(ITelephony.java:4631)
W/System.err: at android.telephony.TelephonyManager.setDataEnabled(TelephonyManager.java:6453)
W/System.err: at android.telephony.TelephonyManager.setDataEnabled(TelephonyManager.java:6430)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.example.app.MainActivity.toggleMobileNetwork(MainActivity.java:51)
W/System.err: at com.example.app.MainActivity.disableMobileNetwork(MainActivity.java:41)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)