我的一个应用程序拥有RECORD_AUDIO
权限,而我的应用程序的targetSdkVersion
为22。我无法在运行时检查权限。但我注意到,如果我将我的应用程序安装在Android 6.0及以上版本中,用户可以在“系统应用程序权限设置”中手动拒绝权限。所以我的问题是,在API级别23以下,如何检查我的应用程序是否被允许使用音频权限?
我已经搜索了很长时间,但只找到了一些关于如何在Android M中检查权限的文档。
我注意到上下文具有一个函数checkCallingOrSelfPermission,但它在Android 6.0下的行为很奇怪。我正在使用这里的解决方案。但是,当我在“系统应用程序设置”中手动关闭应用程序权限后,得到的结果不是我期望的。
String permission = "android.permission.RECORD_AUDIO";
int ret = context.checkCallingPermission(permission);
忘了提到:
minSdkVersion 9
targetSdkVersion 22
编辑:
我注意到有一个解决方案,就是将v4支持库升级到v23。但是升级v4支持库会比较复杂,所以我想要另一种解决方案。
compile 'com.android.support:support-v4:22.2.1'
使用ContextCompat.checkSelfPermission
,我该怎么办? - einverneandroid.support.v4.content.PermissionChecker;
? - Apostrofixcom.android.support:support-v4:22.2.1
。我没有这个类。 - einverne