3

i have code to get sim information for android >=22 but i need sim card information like second sim card information for android 21 and below

public boolean isSimAvailable(Context context) {


        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {

            SubscriptionManager sManager = (SubscriptionManager) context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
            if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
                SubscriptionInfo infoSim1 = sManager.getActiveSubscriptionInfoForSimSlotIndex(0);
                SubscriptionInfo infoSim2 = sManager.getActiveSubscriptionInfoForSimSlotIndex(1);
                if(infoSim1 != null || infoSim2 != null) {
                    return true;
                }
            }else {
                ActivityCompat.requestPermissions(parent, new String[]{Manifest.permission.READ_PHONE_STATE}, Constants.REQUEST_READ_STATE);
            }

        }else{
            TelephonyManager telephonyManager = (TelephonyManager) parent.getSystemService(parent.TELEPHONY_SERVICE);
            if (telephonyManager.getSimSerialNumber() != null){

                return true;
            }
        }
        return false;

    }
Hassan Hallak
  • 321
  • 3
  • 6

0 Answers0