老师我在华为nova真机调试 app 直接闪退了了

来源:4-15 图片选择器功能实现-4

心灵泽尘

2018-12-22

请问是不是只要添加运行时权限就可以了呢?
在老师你写的 common 库下的 Activity 中 如何封装 运行时权限申请的代码呢?能贴下代码吗?麻烦老师啦

追问:
描述:老师我 在您封装的 Activity 中封装了 申请运行时权限的代码,然后在 MainActivity 的 initWidget() 方法中调用了请求读写权限的方法,然后授权之后成功了。
问题:运行时权限代码 封装在 您的 Activtiy 中这样做好么?
调用请求授权方法,我是在 继承了 您封装的 Activity 中 的实现类的 initWidget() 方法中调用的,这样好么,最优方案应该在哪里调用呢?

写回答

2回答

Qiujuer

2018-12-23

第一个问题:在IM课程中权限的申请是在进入APP时统一进行的,如果要在Activity中进行权限申请建议参照:https://github.com/googlesamples/easypermissions


第二个问题:你说你那边动态权限申请你放到了initWidget中,这个不建议这么做;一般来说在这里申请权限是强制的,也就是权限没有通过那么后面的界面展示可能会引起异常问题。

理论来说权限申请应该放到用户行为发生时,比如用户想要拍照了,并不是在当前页面一进入时进行申请,而在于用户点击拍照按钮时进行申请,申请成功后再次递归拍照行为即可。


如果一个页面必须要有权限才能展示,比如图片画廊界面,那么这个权限申请也应该放到上一个页面中,在上一个页面中申请权限后再跳转当前需要权限的页面。


而不能在页面初始化数据时进行。

1
1
心灵泽尘
非常感谢!
2018-12-23
共1条回复

Qiujuer

2018-12-23

你好,明天早上可以回答么?现在我先洗漱哈,手机没电了。

0
4
心灵泽尘
回复
Qiujuer
恩好的,明白了,谢谢老师的悉心指导
2018-12-23
共4条回复

手把手开发完整的即时通讯App 客户端+服务端+MVP架构

客户端+服务端+MVP架构+封装思想+主流框架

1749 学习 · 872 问题

查看课程