在oppo手机中 如果权限被禁用addressbook.find()这行会被执行,发生闪退,plus.contacts.getAddressBook方法无论权限同意与否都会执行成功的回调函数,所以解决闪退问题就需要判断权限是否被禁用,在H5+ 中plus.navigator.checkPermission()方法暂时不支持Android,废话不多说,一下方法可以询问到通讯录权限,进而解决oppo手机的闪退问题
var main = plus.android.runtimeMainActivity();
var a = plus.android.importClass('android.content.ContentProviderOperation');
var b = plus.android.importClass('android.content.ContentResolver');
var c = plus.android.importClass('android.database.Cursor');
var cc = plus.android.importClass('android.net.Uri');
var d = plus.android.importClass('android.test.AndroidTestCase');
var e = plus.android.importClass('android.util.Log');
var uri = cc.parse("content://com.android.contacts/contacts");
var arr = ["_id"];
var resolver = main.getContext().getContentResolver();
var cursor = resolver.query(uri, arr, null, null, null);
if (cursor.moveToNext() == false) {
alert("请打开权限")
}else{
alert("权限已打开")
}
4 个评论
要回复文章请先登录或注册
7***@qq.com
6***@qq.com
6***@qq.com
移动达人