如何申请Android Things的权限?

ier*_*urk 6 permissions android android-things

我正在尝试写一个关于AT的值.我已经在清单中声明了以下所需的许可,

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
Run Code Online (Sandbox Code Playgroud)

并尝试在运行时请求权限,AT显示有关权限设置的窗口.但是,该开关不可点击.关于AT 文件

不支持在运行时请求权限,因为不保证嵌入式设备具有接受运行时对话框的UI.在应用程序的清单文件中声明所需的权限.在应用程序清单中声明的​​所有正常和危险权限都将在安装时授予.

然而Settings.System.canWrite()总是回来false.

是否有任何特殊方法可以启用权限WRITE_SETTINGS

Blu*_*ell 9

就像你说的那样,文件说:

在应用程序的清单文件中声明所需的权限.在应用程序清单中声明的​​所有正常和危险权限都将在安装时授予.

因此,您没有看到正常的Android权限UI.

从发行说明:

在下次设备重新启动之前,不会授予应用程序请求的危险权限.这包括新应用安装和现有应用中的新元素.

因此,请尝试在Android Things设备上关闭电源


ier*_*urk 0

安装应用程序后,声明AndroidManifest.xml如下

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
Run Code Online (Sandbox Code Playgroud)

它还需要Settings通过以下方式运行adb

adb shell am start -S com.android.settings/.Settings
Run Code Online (Sandbox Code Playgroud)

然后单击APPS>YOUR_APP,然后单击permission

现在开关是可点击的。所以AT没有授予权限。需要手动授予。