国产精品99精品久久免费

《我家暗卫不好哄》谢家白露 ^第14章^ 最新更新:2020...

《我家暗卫不好哄》谢家白露 ^第14章^ 最新更新:2020...

《《我家暗卫不好哄》谢家白露 ^第14章^ 最新更新:2020...》剧情介绍:为奥运喝彩另一位首领连可心则伸出手来握了握鱼姿的手表示安慰《我家暗卫不好哄》谢家白露 ^第14章^ 最新更新:2020...正所谓一招鲜吃遍说完转身离去

《《我家暗卫不好哄》谢家白露 ^第14章^ 最新更新:2020...》视频说明:群仙沉默Android6.0运行时权限的处理及解决办法2016-05-14 10:17·行痴无畏最近一直在分享一些干货但是最近我也在反思我感觉应该分享一些用户遇到的问题有很多开发者私聊我一些问题我感觉我应该在回答了他们之后整理成技术文章再分享这样的互动才更有意义我想既然有些开发者遇到了可能还会有很多程序员会遇到所以互动回答的方式更能帮助大家解决问题希望大家可以积极交流问题背景随着今年Android6.0系统的国产ROM终于来了适配6.0已经势在必行了最近也有很多开发者在微信私聊和咨询我遇到的问题其中有一些都是对于Android6.0权限的我感觉有必要写一篇文章来解惑了Runtime Permissions在6.0系统的几个变化中还是比较大的如果你在Android6.0系统的手机上如果遇到了这样的错误必定跟其运行时权限有关open failed: EACCES (Permission denied)权限变化在Adroid系统6.0以前权限的处理是在App安装时授权授权完了才能完成相关的安装而在6.0的系统上是先安装App在安装完之后在使用相关权限的操作时才会弹出权限的提示框用户同意授权之后才能正常使用谷歌这样做可以让用户更加清醒的认识相关权限的使用在一定程度上更加人性化和保护了用户的隐私谷歌官方将权限分为了两类一个是正常权限(Normal Permissions)这类权限不涉及用户隐私是不需要用户进行授权的比如访问网络手机震动等还有一类是危险权限(Dangerous Permissions)一般是涉及到用户隐私的需要用户进行授权比如操作SD卡的写入相机录音等Normal Permissions:ACCESS_LOCATION_EXTRA_COMMANDSACCESS_NETWORK_STATEACCESS_NOTIFICATION_POLICYACCESS_WIFI_STATEBLUETOOTHBLUETOOTH_ADMINBROADCAST_STICKYCHANGE_NETWORK_STATECHANGE_WIFI_MULTICAST_STATECHANGE_WIFI_STATEDISABLE_KEYGUARDEXPAND_STATUS_BARGET_PACKAGE_SIZEINSTALL_SHORTCUTINTERNETKILL_BACKGROUND_PROCESSESMODIFY_AUDIO_SETTINGSNFCREAD_SYNC_SETTINGSREAD_SYNC_STATSRECEIVE_BOOT_COMPLETEDREORDER_TASKSREQUEST_INSTALL_PACKAGESSET_ALARMSET_TIME_ZONESET_WALLPAPERSET_WALLPAPER_HINTSTRANSMIT_IRUNINSTALL_SHORTCUTUSE_FINGERPRINTVIBRATEWAKE_LOCKWRITE_SYNC_SETTINGSDangerous Permissions:解决方法看完官方文档还好解决方案还不是太难也不是非常麻烦当然和以前相比还是有一点繁琐的废话不多说了解决方案如下检查系统版本private boolean canMakeSmores(){return(Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP_MR1);}检查系统版本的原因显而易见如果是系统6.0及以上的需要采用新的权限授权方法申请授权举个例子如果你需要拍照操作那么你就应该在拍照操作的地方先加上权限申请授权方式如下:String[] perms = {"android.permission.CAMERA"};int permsRequestCode = 200;requestPermissions(perms, permsRequestCode);授权回调处理@Overridepublic void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults){switch(permsRequestCode){case 200:boolean cameraAccepted = grantResults[0]==PackageManager.PERMISSION_GRANTED;if(cameraAccepted){//授权成功之后调用系统相机进行拍照操作等}else{//用户授权拒绝之后友情提示一下就可以了}break;}}进一步处理和完善通过上面可以看出只检查系统版本了如果授权过的权限还需要再次去授权么我们的判断其实可以更完善一下比如:private boolean hasPermission(String permission){if(canMakeSmores()){return(checkSelfPermission(permission)==PackageManager.PERMISSION_GRANTED);}return true;}上面这段代码是先判断系统版本再判断这个权限是否已经授权过这样就不会重复了还有就是比如如果用户第一次已经拒绝过这个权限下次再操作时怎么办呢还有一个更人性化的方法就是:shouldShowRequestPermissionRationale(@NonNull String permission)这个方法的作用:第一次请求权限时用户拒绝了下一次:shouldShowRequestPermissionRationale() 返回 true应该显示一些为什么需要这个权限的说明第二次请求权限时用户拒绝了并选择了不在提醒的选项时:shouldShowRequestPermissionRationale() 返回 false设备的策略禁止当前应用获取这个权限的授权:shouldShowRequestPermissionRationale() 返回 false完结到这里就基本介绍完结了希望能够对大家有所帮助能够进一步理解Android6.0运行时权限的使用继续加油吧学习永无止境移动开发者的聚集地公众号非著名程序员每天一篇原创技术分享和移动互联网知识分享微信公众号:smart_android 头条号和百度百家账号都是非著名程序员三、这几种石头也要处理掉

编剧:
/
更新:

2024-11-14 14:42:24

备注:
国语
评价:
《我家暗卫不好哄》谢家白露 ^第14章^ 最新更新:2020...

选集播放
排序

选择播放源
快速播放①
首页
电影
综艺
APP