我正在写一个简单的应用程序,想要连接到安卓10上的特定WiFi网络。我给了所有我认为我可能需要在manifest.xml中的权限。
<uses-permission-sdk-23 android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission-sdk-23 android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission-sdk-23 android:name="android.permission.INTERNET"/>
<uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission-sdk-23 android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission-sdk-23 android:name="android.permission.CONNECTIVITY_INTERNAL" />
<uses-permission-sdk-23 android:name="android.permission.MAINLINE_NETWORK_STACK" />但是当我使用函数"connectivitymanager.requestNetwork“时,我得到了错误:
java.lang.SecurityException:需要以下权限之一: android.permission.CONNECTIVITY_INTERNAL、android.permission.MAINLINE_NETWORK_STACK。
在我想请求权限的代码中,这两个权限没有定义,并且对请求不可用。
有谁知道这个权限或者错误的原因吗?
于尔根
发布于 2021-02-05 06:58:39
当我调用NetworkRequest.Builder#addCapability()并传入一个NetworkCapabilities.TRANSPORT_X值时,我遇到了这个问题。我需要调用addTransportType()。
发布于 2021-04-28 15:13:48
根据android文档:
"android.permission.CONNECTIVITY_INTERNAL“:不推荐使用该权限,该权限用于允许对敏感方法进行过宽的访问,其所有用途已被更合适的权限所取代。大多数使用已被NETWORK_STACK或NETWORK_SETTINGS检查所取代。请查看各个函数的文档,以确定现在保护单个函数的权限是什么。@SystemApi允许内部用户使用特权ConnectivityManager API。
https://stackoverflow.com/questions/64953387
复制相似问题