请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

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

正在回答

2回答

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


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

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


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


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

1 回复 有任何疑惑可以回复我~
  • 提问者 心灵泽尘 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-12-23 13:33:29
Qiujuer 2018-12-23 00:24:04

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

0 回复 有任何疑惑可以回复我~
  • 提问者 心灵泽尘 #1
    嗯哪没事,明天好了,谢谢老师,这么晚还回复
    回复 有任何疑惑可以回复我~ 2018-12-23 00:25:46
  • 提问者 心灵泽尘 #2
    老师昨晚我发现一个问题,好多应用在安装 apk 界面时 有个 权限列表 默认 都是允许状态,用户直接点击下一步安装 就获取所有权限了,不需像我这样 进入 Activity 之后再询问,这是如何做到的呀。
    回复 有任何疑惑可以回复我~ 2018-12-23 09:22:34
  • Qiujuer 回复 提问者 心灵泽尘 #3
    那是安装应用市场的时候授权的;跟我们调试安装是不一样的。无论安装时手机厂家是否有提供这个授权步骤,我们都应该在APP中加入动态授权的代码。除非你的代码是基于23以下进行开发的。
    回复 有任何疑惑可以回复我~ 2018-12-23 12:14:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信