2017-02-16 62 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