我已经创建了自己的 android.jar,因此我可以使用隐藏的 API 调用 'DisplayManager.connectWifiDisplay()'。
当我运行应用程序并调用方法时,在通过 Wifi Direct 连接到显示器后,
我得到以下异常:
java.lang.SecurityException: Permission required to connect to a wifi display: Neither user 10105 nor current process has android.permission.CONFIGURE_WIFI_DISPLAY. at android.os.Parcel.readException(Parcel.java:1546) at android.os.Parcel.readException(Parcel.java:1499) at android.hardware.display.IDisplayManager$Stub$Proxy.connectWifiDisplay(IDisplayManager.java:344) at android.hardware.display.DisplayManagerGlobal.connectWifiDisplay(DisplayManagerGlobal.java:309) at android.hardware.display.DisplayManager.connectWifiDisplay(DisplayManager.java:404)
但是,我在我的 AndroidManifest 中包含了 CONFIGURE_WIFI_DISPLAY 和 CONTROL_WIFI_DISPLAY 权限。关于我可能在这里遗漏什么的任何提示?
编辑:我使用的是 Android L。
最佳答案
这两个权限都有一个signature
保护级别(至少在 Android 6.0 上是这样——您需要研究该保护级别多年来是否发生了变化)。
因此,除非您的应用程序由平台签名 key 签名,否则您无法持有这些权限,尽管它们在您的 list 中。
关于未授予 Android 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34071576/