apicloud targetSdkVersion小于26及权限问题

自2018年11月开始,GooglePlay以及国内大部分应用市场要求APP编译目标SDK必须为26及以上,否则不予提交审核。

设置targetSdkVersion:https://community.apicloud.com/bbs/thread-110959-1-1.html

查看apk的targetSdkVersion版本不懂的可以看下面一篇文章:https://blog.csdn.net/ln_polaris/article/details/90481801

在Android上使用动态权限,要求APP编译的目标SDK(即targetSdkVersion)为23及以上(对应为android6.0及以上系统),22及以下系统会执行缺省处理(手机厂商也可能定制处理),APICloud为满足更普遍的开发需求,默认配置targetSdkVersion为22,即权限走系统缺省处理。

注意:安装自定义apploader的时候注意用升级环境编译,把之前安装的应用删除掉

 

APP的targetSdkVersion为22(安卓5.1)

如果你的应用targetSdkVersion为22,那你的应用只适配最高安卓5.1的手机,更高版本的手机新功能将会隐藏。4

 

情况1:在安卓5.1及以下手机手机运行

低配置的手机权限有三个选项:允许/提示/禁止 ,默认是提示。当你想使用权限功能的时候,app会自动弹出一个提示框询问你是否开启该权限。

情况2:在安卓6.0及以上版本的手机运行

因为你的targetSdkVersion是22,所以高版本手机直接就给你的权限全部打开

 

APP的targetSdkVersion为23(安卓6.0)

情况1:在安卓5.1及以下的手机运行

没有差别,低配置手机在请求新的权限的时候还是会自动弹出询问窗口,不需要我们做任何操作

情况2:在安卓6.0及以上版本的手机运行


//这边以摄像头权限为例,先判断app是否开启该权限了
var resultList = api.hasPermission({
    list:['camera']
});


if(!resultList){
    api.requestPermission({
        list:['camera'],
    }, function(ret, err){
        if (ret.list[0].granted) {
            //开启权限
            此处调用摄像头代码
        }else{
            toast_msg('请开启摄像头权限');
        }
    });
}else {
    //如果已经开启权限,直接调用摄像头
}

注意:自定义loader,需要开通储存权限才能加载代码,不然会白屏。存储选项是必须用到的,可以在启动app的时候开启该权限,如果用户禁止开通,则app关闭

 

你可能感兴趣的:(安卓,apiCloud)