Android 获取SIM卡号码权限申请

编程入门 行业动态 更新时间:2024-10-27 07:28:43

Android 获取SIM<a href=https://www.elefans.com/category/jswz/34/1759027.html style=卡号码权限申请"/>

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();}}}});

 

更多推荐

Android 获取SIM卡号码权限申请

本文发布于:2023-12-03 12:26:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1655335.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:卡号   权限   Android   SIM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!