每次开新项目都要到处找请求权限的代码,老火得很,这里记录下,方便以后搬运,当然也有很多请求权限的开源项目,

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);checkPermission();}/*** 权限申请*/private void checkPermission() {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {String[] permissions = new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_COARSE_LOCATION};for (String permission : permissions) {if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(this, permissions, 200);return;}}}}@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[]grantResults) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && requestCode == 200) {for (int i = 0; i < permissions.length; i++) {if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {// 如果还是没有获得权限,跳转到当前APP系统设置页面,让用户手动添加权限Intent intent = new Intent();intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);Uri uri = Uri.fromParts("package", getPackageName(), null);intent.setData(uri);startActivityForResult(intent, 200);return;}}}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK && requestCode == 200) {checkPermission();}}

android 原生请求权限代码相关推荐

  1. 为什么说在Android中请求权限从来都不是一件简单的事情?

    本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新. 周末时间参加了东莞和深圳的两场GDG,因为都是线上参与,所以时间上并不赶,我只需要坐在家里等 ...

  2. 随想录(一个android原生app的代码赏析)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 今天下午,无意看到android一个原生的app代码,也就一个文件SpeechRecorder ...

  3. android动态请求权限

    /*** 动态请求权限*/ private void requestPermission() {//动态请求权限if (Build.VERSION.SDK_INT >= Build.VERSIO ...

  4. Android ActivityResultContracts 请求权限(封装;含android 11权限变更)

    文章目录 关联博客 Android 11 权限变更 权限申请 BasePermissionExtendFragment.kt PermissionExtend.kt 关联博客 Android Acti ...

  5. Android原生音频变调代码流程分析

    会说话的Tom猫是一款非常经典的终端游戏,可爱的Tom猫可以发出不同音调的声音. 之前用过一个非常著名的开源库SoundTouch可以实现音频的变速变调功能,具体可参考: https://blog.c ...

  6. android原生和H5交互(转)

    最近在左一个Android原生的H5混合开发的APP,之前还没有好好的总结一下Android原生 和 H5 之间交互的方法,这里来总结一下: 1.hybrid通信,主要就是前端的js和我们Androi ...

  7. android原生和H5交互

    最近在左一个Android原生的H5混合开发的APP,之前还没有好好的总结一下Android原生 和 H5 之间交互的方法,这里来总结一下: 1.hybrid通信,主要就是前端的js和我们Androi ...

  8. Android方法调用实体类的值,React Native调用Android原生方法和传值

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 创建react native 项目:react-native init callAndroidProject cd ca ...

  9. flutter与android原生通信

    1.原因 刚接触flutter的时候,以为flutter是一个全新开发app的语言,独立于Android原生之外的操作,入坑之后发现不是的.因为Flutter不能完成所有Native的功能,比如不同平 ...

最新文章

  1. 寒门出贵子,传递正能量
  2. xshell导出文件用ftp到本地_使用xshell从远程服务器下载文件到本地
  3. java 随机数生成实现_Java中生成随机数的实现方法总结
  4. 2021CCPC网络赛部分题解
  5. Nginx日志文件的切割
  6. 服务器维护菜单,Romley平台BIOS常用操作
  7. 虚拟目录继承根Web.Config的问题解决(转)
  8. 监听localStorage变化(同页面监听)
  9. java mathematica_用Java获取Mathematica图像
  10. 怎样让电脑速度变快_硬盘在电脑中起什么作用?
  11. 水声被动定位中的机器学习方法研究进展综述
  12. 3.14圆周率节,这5本书带你领略数学的魅力
  13. Cable--新虚拟网络架构介绍
  14. html密码框输入内容隐藏,密码框显示提示文字的功能实现
  15. 《那些年啊,那些事——一个程序员的奋斗史》——65
  16. ROS学习——3 roslaunch的使用
  17. “攀哥”离场 不掩融云组最强战舰技术顶流如云
  18. 如何复制百度文库上的东西
  19. matlab求滤波器的相频特性,matlab仿真一阶低通滤波器幅频特性和相频特性.docx
  20. 蓝桥杯--并查集1 sdutoj 小雷的冰茶几

热门文章

  1. 税务系统服务器维护导致逾期申报了,山东省电子税务局逾期申报处罚等功能升级啦!...
  2. 弥知AR试衣重磅上线!
  3. 阿里云服务器发送邮件(一)
  4. gre计算机考试科目,gre的考试内容和科目
  5. MySQL 慢查询日志导入 Elasticsearch 可视化查询分析
  6. java内置功能的使用,装箱拆箱及枚举类
  7. 松耦合(Loose coupling)笔记
  8. Android中的优化问题
  9. 预制菜顶流信良记,小龙虾的生意经难念
  10. 目标跟踪经典算法汇总(持续更新...)