2017-02-16 63 views
4

我正试图写入AT上的值。我已经声明所需的权限,如清单跟随,如何申请Android Things的许可?

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

并尝试在运行时请求权限,AT显示有关权限设置窗口。但是该开关不可点击。至于在运行期间document

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

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

有没有特别的方法可以启用权限WRITE_SETTINGS

+1

在普通的Android设备上,[该权限需要双选](http://stackoverflow.com/a/32083622/115145),包括用户在设置中授予权限。考虑到用户可能没有任何方式使用“设置”应用(例如,无屏幕),我不知道长期计划对于Android Things这样的权限有什么用处。 – CommonsWare

+0

请提出有关您的问题的错误,以获取您访问设置API所需的权限:https://code.google.com/p/android/issues/entry?template=Android%20Things%20bug%20report – Devunwired

+0

@Devunwired I没有开发者帐户。所以我无法访问服务android问题。 – ierturk

回答

1

上的发言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没有被授予许可。它需要手动授予。

7

像你说的,文件中称:

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

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

从发行说明:

通过应用要求危险未授予权限,直到下一次重启设备。这包括现有应用中的新应用安装和新元素。

因此,尝试关闭,供电您的Android事情设备

+0

根据包com.android.onetimeinitializer中的引导消息'W/PackageManager:Unknown permission com.android.launcher.permission.WRITE_SETTINGS'。消息是否说,在AT上没有办法写入设置? – ierturk

+0

我试过打开和关闭电源。尽管如此,没有授予访问设置。 @Blundell – ierturk

+0

我不认为当前版本的Android事物有系统设置。 – shalafi