棉花糖应用权限撤销通知?

6
在Android 6.0(棉花糖)中,用户可以撤销特定应用程序权限,即使在应用程序内部授予了该权限。我知道我可以使用ContextCompat.checkSelfPermission()检查权限。但是,是否有一种方法让我的应用程序在用户撤销我的应用程序权限时得到通知,而不必反复使用ContextCompat.checkSelfPermission()进行检查?也许是广播/意图或类似的东西吗?
提前感谢您的任何帮助。

http://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en - ecle
1
除非OEM实现了特定的回调函数,否则据我所知,这是不可能的。 - JavaChipMocha
1个回答

2
如果您的应用程序需要危险权限,则必须在每次执行需要该权限的操作时检查是否拥有该权限。用户始终可以撤销权限,因此即使应用程序昨天使用了某个权限,也不能假设今天仍具有该权限。
要检查是否具有某个权限,请调用ContextCompat.checkSelfPermission()方法。例如,以下代码段显示如何检查活动是否具有写入日历的权限:
// Assume thisActivity is the current activity
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity,
        Manifest.permission.WRITE_CALENDAR);

如果应用程序拥有权限,则该方法返回PackageManager.PERMISSION_GRANTED,并且该应用程序可以继续执行操作。如果应用程序没有权限,则该方法返回PERMISSION_DENIED,并且应用程序必须明确要求用户授权。


我知道我可以在运行时检查。我想知道是否有一种异步的方法可以知道用户是否已经撤销了我的某个权限,而不需要重复使用checkSelfPermission()进行检查。也许我在我的问题中没有表达清楚。让我编辑原始帖子。 - Mehedee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接