Jav*_*deh 7 permissions android android-6.0-marshmallow
我正在尝试检查Android Marshmallow中用户授予/撤消的权限.不幸的是ContextCompat.checkSelfPermission()(这是一个warpper Context.checkCallingOrSelfPermission)似乎总是返回PackageManager.PERMISSION_GRANTED(0)如果您在清单中包含了该特定权限,而不管当前的权限状态(例如,如果用户已撤销权限).我也尝试过someContext.checkCallingOrSelfPermission(),但结果是一样的.
有没有人经历过这个?我在nVidia Shield控制台上使用Android Marshmallow(使用nVidia的Beta程序).
Jav*_*deh 10
事实证明,清单中的targetSdkVersion必须是23,我的是22.如果您的目标SDK是23(Android 6),默认情况下会禁用所有权限(在清单中),而如果您的目标SDK是22 (Android 5.1)并且您的应用程序在Android 6上运行,默认情况下在用户安装应用程序时启用所有权限,即使用户稍后撤消权限,提到的API也会返回不正确的值(这是一个错误在我看来).