java类android.telephony.SubscriptionManager的实例源码

Util.java 文件源码 项目:kcanotify 阅读 32 收藏 0 点赞 0 评论 0
@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);

    return sb.toString();
}
ServiceSinkhole.java 文件源码 项目:android-protwall 阅读 29 收藏 0 点赞 0 评论 0
@Override
public void onDestroy() {
    Log.i(TAG, "Destroy");

    commandLooper.quit();
    logLooper.quit();
    statsLooper.quit();

    if (registeredInteractiveState) {
        unregisterReceiver(interactiveStateReceiver);
        registeredInteractiveState = false;
    }
    if (registeredPowerSave) {
        unregisterReceiver(powerSaveReceiver);
        registeredPowerSave = false;
    }
    if (registeredUser) {
        unregisterReceiver(userReceiver);
        registeredUser = false;
    }
    if (registeredIdleState) {
        unregisterReceiver(idleStateReceiver);
        registeredIdleState = false;
    }
    if (registeredConnectivityChanged) {
        unregisterReceiver(connectivityChangedReceiver);
        registeredConnectivityChanged = false;
    }
    if (registeredPackageAdded) {
        unregisterReceiver(packageAddedReceiver);
        registeredPackageAdded = false;
    }

    if (phone_state) {
        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        if (tm != null) {
            tm.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE);
            phone_state = false;
        }
    }

    if (subscriptionsChangedListener != null &&
            Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
        SubscriptionManager sm = SubscriptionManager.from(this);
        sm.removeOnSubscriptionsChangedListener((SubscriptionManager.OnSubscriptionsChangedListener) subscriptionsChangedListener);
        subscriptionsChangedListener = null;
    }

    try {
        if (vpn != null) {
            stopNative(vpn, true);
            stopVPN(vpn);
            vpn = null;
            unprepare();
        }
    } catch (Throwable ex) {
        Log.e(TAG, ex.toString() + "\n" + Log.getStackTraceString(ex));
    }

    jni_done();

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    prefs.unregisterOnSharedPreferenceChangeListener(this);

    super.onDestroy();
}
ServiceUtil.java 文件源码 项目:Android-App-Template 阅读 41 收藏 0 点赞 0 评论 0
@TargetApi(22)
public static SubscriptionManager getSubscriptionManager() {
    return (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
}
Patch.java 文件源码 项目:kitkat-sms-patch 阅读 38 收藏 0 点赞 0 评论 0
private static void putPhoneIdAndSubIdExtra(Object thisObject, Intent intent) {
    PhoneBase phone = (PhoneBase) XposedHelpers.getObjectField(thisObject, "mPhone");
    XposedHelpers.callStaticMethod(SubscriptionManager.class, "putPhoneIdAndSubIdExtra",
            intent, phone.getPhoneId());
}
Managers.java 文件源码 项目:sprockets-android 阅读 29 收藏 0 点赞 0 评论 0
/**
 * @since 4.0.0
 */
public static SubscriptionManager telephonySubscription(Context context) {
    return (SubscriptionManager) context.getSystemService(TELEPHONY_SUBSCRIPTION_SERVICE);
}
ShowSimOperator.java 文件源码 项目:Xposed-ShowSimOperator 阅读 19 收藏 0 点赞 0 评论 0
private static SubscriptionManager getSubscriptionManager() {
  return (SubscriptionManager) getContext().getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
}
SystemServices.java 文件源码 项目:android_Skeleton 阅读 33 收藏 0 点赞 0 评论 0
@TargetApi(AndroidHelper.API_22)
public static SubscriptionManager subscriptionManager() {
    return (SubscriptionManager) get(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
}
ContextUtils.java 文件源码 项目:android-wheels 阅读 33 收藏 0 点赞 0 评论 0
/**
 * Obtain a {@link SubscriptionManager} instance associated with specified {@link Context}
 *
 * @param context Context
 * @return {@link SubscriptionManager} associated with specified {@link Context}
 * @throws InvalidContextException if {@link SubscriptionManager} can't be obtained
 *                                 from specified {@link Context}
 */
@NonNull
@RequiresApi(Build.VERSION_CODES.LOLLIPOP_MR1)
public static SubscriptionManager getSubscriptionManager(@NonNull Context context) {
    return validate(context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE));
}


问题


面经


文章

微信
公众号

扫码关注公众号