6

我正在尝试写入 AT 上的值。我已经在清单中声明了所需的权限,

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

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

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

但是Settings.System.canWrite()总是返回false

是否有任何特殊的方法来启用权限WRITE_SETTINGS

4

3 回答 3

9

就像你说的,文件说:

在应用的清单文件中声明您需要的权限。应用清单中声明的​​所有正常和危险权限均在安装时授予。

因此,您看不到正常的 Android 权限 UI。

从发行说明:

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

因此,请尝试关闭并打开您的 Android Things 设备

于 2017-02-16T20:49:41.607 回答
0

此权限是有Protection level: signature。这意味着此权限仅授予系统应用程序

请找到以下屏幕截图供您参考:

在此处输入图像描述

于 2018-05-11T10:22:06.390 回答
0

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

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

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

adb shell am start -S com.android.settings/.Settings

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

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

于 2017-02-17T20:25:27.867 回答