2015-07-21 72 views
16

我目前正在玩android m的新權限系統。 我正在計劃的是向我的應用內設置添加一個屏幕,用戶可以授予或撤銷權限。Android M:以編程方式撤銷權限

屏幕看起來像常規系統設置屏幕,但會有額外的信息,爲什麼我的應用程序需要特定的權限。此設置屏幕將作爲Documentation中建議的常規權限處理的補充。

的工作流程是:

  • 授予權限:打開系統對話框授予/撤銷(like suggested here
  • 撤銷權限:撤銷其編程

所以我的問題是,能以編程方式撤銷權限? 我搜索了很多,但沒有設法得到一些結果。

+0

答案似乎是「否」。請參閱http://stackoverflow.com/questions/7517171/is-there-any-way-to-ask-permission-programmatically和http://stackoverflow.com/questions/19462511/is-it-possible-to-specify -the-使用許可權,編程。 – user1929959

+1

這些Q/As指的是「舊」權限系統,其中所有權限在安裝時被授予。我的問題是關於新的新系統unoid Android M – W3hri

回答

8

你什麼都不能做(至少到現在爲止)。另外,沒有任何意圖操作來打開您的應用的活動系統設置。我的建議是在開發者預覽問題跟蹤器上打開「功能請求」。

+0

這很可悲,尤其是打開systemsettings的意圖是我的計劃b。我想我應該打開一個功能請求。 – W3hri

+0

@ greywolf82:你知道這是否仍然是最新版本的Android? – narb

1

不能以編程方式在Android M預覽中使用新的權限模型。

但手動你可以按給定的。 revoke permissions manually

+0

訪問Android M的位置詳細信息的示例代碼,以及前M設備 – Harsha

5

您可以撤銷ADB Shell的許可。 如果考慮編寫shell腳本,做這一切在編程然後YES,NO其他

Grant and revoke permissions

您可以使用新的ADB包管理器(PM)命令來授予和撤銷權限的安裝的應用程序。該功能對自動化測試非常有用。

授予許可,使用軟件包管理器的授權命令:

$ adb shell pm grant <package_name> <permission_name> 

例如,授予錄製音頻com.example.myapp包的權限,使用這個命令:

$ adb shell pm grant com.example.myapp android.permission.RECORD_AUDIO 

要撤消權限,請使用包管理器的撤銷命令:

$ adb shell pm revoke <package_name> <permission_name> 
相關問題