当前位置: 首页 > news >正文

Android 获取SIM卡号码权限申请

1.添加权限

在AndroidManifest.xml中添加如下权限

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

2.获取权限 

如果你只在清单文件中添加权限却没有在代码中获取权限,代码还是会报错的。

报错原因:

android 6.0以上增加了动态获取权限api,需要动态获取手机的权限。弹出对话框询问用户,请求用户允许,否则就会报错。

解决方法:

动态获取手机权限

涉及方法

(1).ContextCompat.checkSelfPermission(@NonNull Context context, @NonNull String permission)

        作用:检查应用是否有permission这权限;

        返回值:已经用于返回PERMISSION_GRANTED,否则返回PERMISSION_DENIED

 (2).ActivityCompat.requestPermissions(final @NonNull Activity activity, final @NonNull String[] permissions, final @IntRange(from = 0) int requestCode)

作用:弹出请求授权对话框

参数:permissions是个数组;requestCode是授权码,要>=0

代码实现: 

        button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {if (ActivityCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions((Activity) context,new String[]{android.Manifest.permission.READ_PHONE_STATE},PackageManager.PERMISSION_GRANTED);}else{//获取卡槽1的sim卡信息SubscriptionInfo activeSubscriptionInfo = subscriptionManager.getActiveSubscriptionInfo(1);if(activeSubscriptionInfo!=null){textView1.setText(activeSubscriptionInfo.toString());}else{Toast.makeText(getApplicationContext(),"1null",Toast.LENGTH_SHORT).show();}}}});

 

http://www.lryc.cn/news/206443.html

相关文章:

  • Linux CentOS 本地yum配置
  • 【c++速通】入门级攻略:什么是内联函数?函数重载又是什么?
  • ubuntu 安装串口工具和添加虚拟串口
  • 【数据结构】数组和字符串(四):特殊矩阵的压缩存储:稀疏矩阵——三元组表
  • 为什么POST请求经常发送两次?
  • 打破总分行数据协作壁垒,DataOps在头部股份制银行的实践|案例研究
  • 测试用例的设计方法(全):边界值分析方法
  • 酷开科技 | 酷开系统沉浸式大屏游戏更解压!
  • 读高性能MySQL(第4版)笔记20_Performance Schema和其他
  • spring cloud Eureka集群模式搭建(IDEA中运行)《二》
  • 大模型(LLM)在电商推荐系统的探索与实践
  • C语言之指针详解
  • 【Java笔记+踩坑】设计模式——原型模式
  • Flutter GetX使用详解
  • 【ARM Coresight 系列文章 3.3 - ARM Coresight SWD 协议详细介绍】
  • 作为开发者,可视化开发工具了解一下
  • Python:实现日历功能
  • 2.9.C++项目:网络版五子棋对战之业务处理模块的设计
  • springboot actuator 常用接口
  • 知识点滴 - Email地址不区分大小写
  • 同一个页面同一区域两个el-table在v-if下样式重叠问题
  • ExoPlayer架构详解与源码分析(6)——MediaPeriod
  • 【开题报告】基于Spring Boot的课程在线预约系统的设计与实现
  • React Hooks还有哪些常用的用法?
  • 基于Java的学生学籍管理系统设计与实现(源码+lw+部署文档+讲解等)
  • Java内部类、匿名内部类、嵌套类详解
  • 【兔子王赠书第3期】《案例学Python(进阶篇)》
  • 【C刷题】day6
  • MySQL精髓:如何使用ALL一次找到最大值
  • 安全设备