Android平台targetSdkVersion设置及动态权限

6
回复
242
查看
[复制链接]

70

主题

83

帖子

394

安币

攻城狮

Rank: 3Rank: 3

发表于 2019-4-8 14:52:12 | 显示全部楼层 |阅读模式
--关于Android动态权限和targetSdkVersion

    Android系统自6.0开始,提供动态权限机制,对于敏感权限(存储,定位,录音,拍照,录像等),需要在APP运行过程中动态向用户申请,这点和IOS系统使用体验一致。
    在Android上使用动态权限,要求APP编译的目标sdk(即targetSdkVersion)为23及以上,22及以下系统会执行缺省处理(手机厂商也可能定制处理),APICloud为简便开发,默认配置targetSdkVersion为20,即走系统缺省处理,不允许更改。

--有许多原生APP转到APICloud开发后,因targetSdkVersion降级而导致无法覆盖安装;另外自2018年11月开始,GooglePlay将要求APP编译目标sdk必须为26及以上,否则不予提交审核。

--现介绍如何自定义编译targetSdkVersion值

1、下载附件中的manifest.xml,将其中的targetSdkVersion更新为目标值,例如26;
2、将manifest.xml置于你的/项目代码/res/目录下(widget/res/manifest.xml),提交代码;
3、云编译界面勾选APP所需的权限;

4、使用升级环境编译 即可。

--注意:当你设置的targetSdkVersion大于等于23时,即开启了动态权限,如果你的APP带有定位,录音,拍照,录像等敏感功能时(所有权限见文档),必须使用动态权限机制,先判断是否具有该功能操作权限,再进行操作,如果不具备相应的权限,对应的功能是失效的(也可能导致崩溃)。涉及的两个API:hasPermission | requestPermission

补充:当你设置的targetSdkVersion大于等于23时,如果是编译自定义loader,安装到手机后,需要先在设置中给应用打开存储空间权限。否则,WiFi同步后,loader无法正常加载代码。

为保证动态权限尽可能适配更多厂商的手机以及顺利上线Google Play,targetSdkVersion目前推荐设置为26.


manifest.zip

261 Bytes, 下载次数: 19

动态权限完整示范代码.zip

11.1 KB, 下载次数: 17

7

主题

9951

帖子

2331

安币

Android大神

Rank: 6Rank: 6

发表于 2019-4-8 18:55:55 | 显示全部楼层
此帖仅作者可见

440

主题

1145

帖子

1900

安币

手工艺人

发表于 2019-4-8 19:09:36 | 显示全部楼层
此帖仅作者可见

14

主题

1万

帖子

3899

安币

码皇(巴士元老)

Rank: 8Rank: 8

发表于 2019-4-8 19:18:57 | 显示全部楼层
此帖仅作者可见
发表于 2019-4-8 19:22:37 | 显示全部楼层
此帖仅作者可见

400

主题

1084

帖子

336

安币

手工艺人

发表于 2019-4-8 19:27:08 | 显示全部楼层
此帖仅作者可见

11

主题

9425

帖子

-12

安币

QQ游客

推广达人

发表于 2019-4-8 19:35:02 | 显示全部楼层
此帖仅作者可见
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )