我正在尝试创建一个android Wi显示(Miracast)应用程序。
我使用以下代码注册接收器端口:
Class clsWifiP2pManager = Class.forName("android.net.wifi.p2p.WifiP2pManager");
Method methodSetWFDInfo = clsWifiP2pManager.getMethod("setWFDInfo",
WifiP2pManager.Channel.class, clsWifiP2pWfdInfo, WifiP2pManager.ActionListener.class);
methodSetWFDInfo.invoke(wifiP2pManager, channel, wifiP2pWfdInfo, listener);但是当应用程序运行时,会抛出一些异常:
W/System.err: java.lang.reflect.InvocationTargetException
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
...
W/System.err: Caused by: java.lang.SecurityException: Wifi Display Permission denied for uid = 10055
W/System.err: at android.os.Parcel.createException(Parcel.java:1953)
W/System.err: at android.os.Parcel.readException(Parcel.java:1921)
W/System.err: at android.os.Parcel.readException(Parcel.java:1871)
W/System.err: at android.net.wifi.p2p.IWifiP2pManager$Stub$Proxy.checkConfigureWifiDisplayPermission(IWifiP2pManager.java:205)
W/System.err: at android.net.wifi.p2p.WifiP2pManager.setWFDInfo(WifiP2pManager.java:1391)
W/System.err: ... 21 more我知道checkConfigureWifiDisplayPermission()在setWFDInfo()中,它会检查我的应用程序是否具有系统应用程序的权限:android.permission.CONFIGURE_WIFI_DISPLAY,但是这个应用程序不是系统应用程序,所以我如何避免权限检查或避免例外情况:InvocationTargetException?
顺便说一下,我已经在我的AndroidManifest.xml中添加了这个权限
<uses-feature android:name="android.hardware.wifi" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>发布于 2022-05-10 09:40:33
您是否在清单中声明了这些权限:
<uses-feature android:name="android.hardware.wifi" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />https://stackoverflow.com/questions/72183832
复制相似问题