【问题标题】:How I can check if user accepted permission for read/write Contacts?如何检查用户是否接受了读/写联系人的权限?
【发布时间】:2012-08-03 13:31:02
【问题描述】:

我的应用程序从手机读取联系人,因此当它运行时他会获得许可。

我如何再次询问或检查用户是否授予权限?

非常感谢。

【问题讨论】:

  • 如果用户下载了应用程序,那么他就接受了许可。无需检查。
  • 如果他安装了你的应用,他别无选择,只能接受。

标签: android permissions screen contacts


【解决方案1】:

用户实际上并没有选择他们批准或不批准哪些权限的选项。要么他们批准所有内容并安装您的应用,要么他们选择拒绝然后您的应用没有安装。

但是,要回答您的问题,您可以使用 PackageManager 中的 checkPermission 方法

PackageManager manager = getPackageManager();
int hasPermission = manager.checkPermission ("android.permission.READ_CONTACTS", "com.your.package")
if (hasPermission == PackageManager.PERMISSION_GRANTED) {
    //you have permission
}

【讨论】:

  • 另一个简单的选项:int pid = Process.myPid(); int uid = Process.myUid(); int perm = checkPermission(permission.WRITE_SETTINGS, pid, uid);
  • 但是现在,最近,自从Android Marshmallow 之后,即使安装了应用程序,用户也必须一一接受权限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2013-04-02
  • 2015-09-04
  • 2012-06-12
  • 2015-11-13
  • 1970-01-01
相关资源
最近更新 更多