Android 6.0 中的權限更改回調 (Permission changed callback in Android 6.0)


問題描述

Android 6.0 中的權限更改回調 (Permission changed callback in Android 6.0)

我想知道當用戶在 Android 6.0 上更改應用設置中的權限時,是否有某種方法可以收到通知。我一直在尋找這個答案,但沒有運氣。你知道廣播接收器和一些特定的意圖是否可行?或者也許有一些技巧可以實現這一點?


參考解法

方法 1:

according to this answer, there is no any broadcast/event that you can intercept when permission revoked from the settings screen by the user.

but the "good" news, in assumption that it's your concern ‑ your process will be terminated automatically by the system if there will be any changes to the permission status while your app process was alive

方法 2:

You can keep track of this by using the AlarmManager to periodically check for the permissions your're interested in (for example every 30 seconds) and compare it to the value you saw the last time (saved in SharedPreferences for example). In the worst case you won't get updates within the timer interval, however it should be very unlikely that the user changes a permission multiple times within a short time interval.

Keep in mind that you have to start the periodical checks when the device boots up (android.intent.action.BOOT_COMPLETED).

(by Aleksander MielczarekTal KanelThomas Wanschik)

參考文件

  1. Permission changed callback in Android 6.0 (CC BY‑SA 2.5/3.0/4.0)

#permissions #java #android-6.0-marshmallow #Android






相關問題

SharePoint/WSS:修改“創建者”字段? (SharePoint/WSS: Modify "created by" field?)

從 MS Access 訪問 .mdb 文件中的後端表 (Accessing backend tables in .mdb files from MS Access)

如何以編程方式對 AD OU 條目設置“列出內容”和“列出對象”權限? (How can I programmatically set "List Content" and "List Object" permissions on AD OU entries?)

嘗試使用 C# 設置註冊表權限時出現 NullReferenceException (NullReferenceException when trying to set registry permissions with C#)

可執行腳本在 Linux 機器上獲得權限被拒絕 (Executable script gets permission denied on Linux box)

iOS Facebook 令牌權限生日 (iOS Facebook token Permissions birthday)

如何使 644 個權限文件可從 PHP 寫入? (How do I make 644 permission files writable from PHP?)

Android 6.0 中的權限更改回調 (Permission changed callback in Android 6.0)

LINQ和數據庫權限 (LINQ and Database Permissions)

多個用戶可以訪問/更新 Market 中的單個 Android 應用程序嗎? (Can multiple users access/update a single Android app in the Market?)

運行具有權限的 Eclipse 應用程序或小程序 (Running Eclipse aplication or applet with permissions)

通過 AirWatch 卸載 Android APK (Uninstall Android APK via AirWatch)







留言討論