Android M中权限被拒绝时该如何处理

泡在网上的日子 / 文 发表于2015-09-16 08:33 次阅读 权限


M的开发者预览版2现在包含了一个运行时权限的新方法:Activity.shouldShowRequestPermissionRationale()。


它告诉你的app在实际显示权限对话框之前是否显示一个对正在请求权限的解释。


在app第一次安装的时候。这个方法会返回false,因此你可以直接请求任何需要的权限。如果用户以前拒绝了一个请求,这个方法将返回true。那样的话你应该考虑在再次触发权限对话框之前显示一个解释请求用途之类的信息。你应该仅在权限本身意思不明了的情况下才做这件事情。


最终,当app完全没有机会被授权的时候,调用shouldShowRequestPermissionRationale() 则返回false。这可能是几个原因导致的,比如用户在权限对话框中选择了"不再显示”。结果为false意味着额外显示任意的解释都是徒劳的。


请注意,bug。

在M 开发者预览版2上Fragment.shouldShowRequestPermissionRationale() 总是返回false。这个bug会在今后版本修复。与此同时你可以在Fragments 使用getActivity().shouldShowRequestPermissionRationale()。

查看我们运行时权限的sample :https://github.com/googlesamples/android-RuntimePermissions 

来源于:g+ Android Developers 


收藏 赞 (3) 踩 (2)
上一篇:在RecyclerView上使用布局动画(Layout animation)
自动Material Design出现以来,我对一些视频中演示的网格铺开动画感到惊讶。这是一种斜对角线动画,让activity从上到下从左到右铺开。非常漂亮。 我一直试图尝试所有能得到那种效果的方法。一种办法是,使用RecyclerView::notifyItemInserted()方法,这是很
下一篇:一步一步实现500px引导动画
下了500px应用, 瞬间被它的引导动画吸引住了,下面一步一步来实现引导动画 最终效果图: 下面的小圆点简单的,就先省略,重点在切换动画 创建viewpager 可以左右随手指滑动的只有底部文字部分,所以ViewPager中存放的布局是底部文字部分 activity_main.xml Relati