...情事韩国伦理电影动漫全集高清免费在线观看,蚂蚁影视《妻子的妹妹》伦理 手机高清在线观看-影视大全
思域以其动感的设计、优秀的操控性和经济的燃油消耗受到好评。新款思域在保持驾驶乐趣的同时,也优化了乘坐舒适性和安全性,适合追求驾驶体验的家庭。
2024年12月28日,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 ,头条号和百度百家账号都是“非著名程序员”。
...情事韩国伦理电影动漫全集高清免费在线观看,蚂蚁影视《妻子的妹妹》伦理 手机高清在线观看-影视大全
到了夏天之后开车也是一样的道理汽车空间是很小的再加上紧闭车窗耗氧量会很大定期的开窗能改善空气质量增加舒适度大家可不要忽视了
2017年3月,当时位于昭觉县阿土勒尔村的“悬崖村”只修起了大约叁分之一的钢梯,罗杰和支教的队员爬上村子,给村里的幼儿园提供帮助、为村里的年轻人上了一堂移动团课,他们也因此成为当时全国少有的登上“悬崖村”的大学生志愿者队伍。近年来,政府坚持过紧日子,压缩一般性支出。马光荣介绍,政府行政管理支出占比平均维持在8%多,意味着进一步压缩的空间确实越来越小。但地区间仍然有很大差异,部分省份超过10%,仍有一定压降空间。“近年来,财政支出应该在支持创新、绿色、共享、协调、开放发展上发挥积极作用。其中,保民生、支持共享发展尤其依靠政府加大投入,在财政支出结构中理应占有很大的比重。”