Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 根设备:切换移动网络访问不工作_Android - Fatal编程技术网

Android 根设备:切换移动网络访问不工作

Android 根设备:切换移动网络访问不工作,android,Android,我刚刚在我的设备上建立了根目录(已验证:),并安装了Linage 16(Android 9) 我这样做的原因是因为我需要禁用我的移动网络,然后重新启用它,以便从我的移动服务提供商那里获得新的IP地址。这一切都必须从应用程序本身自动完成。因此,手动断开和重新连接并不能解决我的特殊情况 因此,我做了一些研究,我发现,例如,这里应该启用移动网络切换: 这说明了如何请求根权限: 这里解释了如何正确设置Manifest.xml: 所以,我得到的是这样的东西: <?xml version="1.0"

我刚刚在我的设备上建立了根目录(已验证:),并安装了Linage 16(Android 9)

我这样做的原因是因为我需要禁用我的移动网络,然后重新启用它,以便从我的移动服务提供商那里获得新的IP地址。这一切都必须从应用程序本身自动完成。因此,手动断开和重新连接并不能解决我的特殊情况

因此,我做了一些研究,我发现,例如,这里应该启用移动网络切换:

这说明了如何请求根权限:

这里解释了如何正确设置Manifest.xml:

所以,我得到的是这样的东西:

<?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)