//第一步 先加入权限,在AndroidManifest.xml里加入:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
//动态权限申请:
//权限初始化
private int READ_PHONE_STATE = 1;
private String[] CALLS_STATE = {
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO,
};
/*
* 方法名:verifyStoragePermissions(Activity activity)
* 功 能:6.0动态权限
* 参 数:Activity activity
* 返回值:无
*/
public void verifyStoragePermissions(Activity activity) {
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_PHONE_STATE);
if (permission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, CALLS_STATE, READ_PHONE_STATE);
}
}
//在Activity里调用:
verifyStoragePermissions(this);//调用请求6.0权限的方法
//好了 权限申请完成后开始获取SIM卡槽数量,可用SIM卡数量:
@TargetApi(Build.VERSION_CODES.M)
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1)
private void JudgeSIM() {
TelephonyManager tm = (TelephonyManager)getContext().getSystemService(TELEPHONY_SERVICE);
int phoneCount = tm.getPhoneCount(); //获取当前SIM卡槽数量
//获取当前SIM卡数量
int activeSubscriptionInfoCount = SubscriptionManager.from(getContext()).getActiveSubscriptionInfoCount();
Toast.makeText(getContext(), "卡槽数量:"+phoneCount, Toast.LENGTH_SHORT).show();
Toast.makeText(getContext(), "当前SIM卡数量:"+activeSubscriptionInfoCount, Toast.LENGTH_SHORT).show();
}
//--------------------------------------------------------------------完--------------------------------------------------------------------------------------