List of usage examples for android.telephony SubscriptionInfo getMcc
@Deprecated public int getMcc()
From source file:android_network.hetnet.vpn_service.Util.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) public static String getSubscriptionInfo(Context context) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) return "Not supported"; if (!hasPhoneStatePermission(context)) return "No permission"; StringBuilder sb = new StringBuilder(); SubscriptionManager sm = SubscriptionManager.from(context); sb.append("Slots ").append(sm.getActiveSubscriptionInfoCount()).append('/') .append(sm.getActiveSubscriptionInfoCountMax()).append("\r\n"); int dataid = -1; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) dataid = sm.getDefaultDataSubscriptionId(); int voiceid = -1; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) voiceid = sm.getDefaultVoiceSubscriptionId(); List<SubscriptionInfo> subscriptions = sm.getActiveSubscriptionInfoList(); if (subscriptions != null) for (SubscriptionInfo si : subscriptions) sb.append("SIM ").append(si.getSimSlotIndex() + 1).append('/').append(si.getSubscriptionId()) .append(' ').append(si.getCountryIso()).append('/').append(si.getMcc()).append(si.getMnc()) .append(' ').append(si.getCarrierName()) .append(si.getSubscriptionId() == dataid ? " D" : "") .append(si.getSubscriptionId() == voiceid ? " V" : "") .append(si.getDataRoaming() == SubscriptionManager.DATA_ROAMING_ENABLE ? " R" : "") .append("\r\n"); if (sb.length() > 2) sb.setLength(sb.length() - 2);/*w ww. ja va 2s . c o m*/ return sb.toString(); }
From source file:com.master.metehan.filtereagle.Util.java
@TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) public static String getSubscriptionInfo(Context context) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP_MR1) return "Not supported"; if (!hasPhoneStatePermission(context)) return "No permission"; StringBuilder sb = new StringBuilder(); SubscriptionManager sm = SubscriptionManager.from(context); TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); sb.append("Slots ").append(sm.getActiveSubscriptionInfoCount()).append('/') .append(sm.getActiveSubscriptionInfoCountMax()).append("\r\n"); int dataSubId; try {//from w ww . j a v a 2 s . c o m dataSubId = Settings.Global.getInt(context.getContentResolver(), "multi_sim_data_call", -1); } catch (Throwable ignored) { dataSubId = -1; } Method getNetworkCountryIso = null; Method getNetworkOperator = null; Method getNetworkOperatorName = null; Method getDataEnabled = null; try { getNetworkCountryIso = tm.getClass().getMethod("getNetworkCountryIsoForSubscription", int.class); getNetworkOperator = tm.getClass().getMethod("getNetworkOperatorForSubscription", int.class); getNetworkOperatorName = tm.getClass().getMethod("getNetworkOperatorName", int.class); getDataEnabled = tm.getClass().getMethod("getDataEnabled", int.class); getNetworkCountryIso.setAccessible(true); getNetworkOperator.setAccessible(true); getNetworkOperatorName.setAccessible(true); getDataEnabled.setAccessible(true); } catch (NoSuchMethodException ex) { Log.w(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex)); } List<SubscriptionInfo> subscriptions = sm.getActiveSubscriptionInfoList(); if (subscriptions != null) for (SubscriptionInfo si : subscriptions) { sb.append("SIM ").append(si.getSimSlotIndex() + 1).append('/').append(si.getSubscriptionId()) .append(' ').append(si.getCountryIso()).append('/').append(si.getMcc()).append(si.getMnc()) .append(' ').append(si.getCarrierName()) .append(si.getDataRoaming() == SubscriptionManager.DATA_ROAMING_ENABLE ? " R" : "") .append(si.getSubscriptionId() == dataSubId ? " *" : "").append("\r\n"); if (getNetworkCountryIso != null && getNetworkOperator != null && getNetworkOperatorName != null && getDataEnabled != null) try { sb.append("Network ").append(si.getSimSlotIndex() + 1).append('/') .append(si.getSubscriptionId()).append(' ') .append(getNetworkCountryIso.invoke(tm, si.getSubscriptionId())).append('/') .append(getNetworkOperator.invoke(tm, si.getSubscriptionId())).append(' ') .append(getNetworkOperatorName.invoke(tm, si.getSubscriptionId())) .append(sm.isNetworkRoaming(si.getSubscriptionId()) ? " R" : "").append(' ') .append(String.format("%B", getDataEnabled.invoke(tm, si.getSubscriptionId()))) .append("\r\n"); } catch (IllegalAccessException | InvocationTargetException ex) { Log.w(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex)); } } if (sb.length() > 2) sb.setLength(sb.length() - 2); return sb.toString(); }