哪个 sim 正在使用移动数据..?

Which sim is using mobile data..?

如何查看哪个 SIM 卡正在使用移动数据?或者这样说;哪个 sim 上启用了移动数据?

经过一番努力,我找到了哪个 SIM 卡正在使用移动数据,但此代码仅适用于 android 版本 7 及更高版本。此代码将检查,如果数据在主 sim 上启用,return true,否则 return false。

private boolean checkIsValidPrimarySim(Context context) {
    boolean validSim=false;
    if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.N){
        int mSubscriptionId=-1;
        SubscriptionManager subscriptionManager=(SubscriptionManager)context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
        SubscriptionInfo subscriptionInfo=subscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(0);
        if(subscriptionInfo!=null){
            mSubscriptionId=subscriptionInfo.getSubscriptionId();
            if(mSubscriptionId!=-1){
                int defaultSubscriptionId=subscriptionManager.getDefaultDataSubscriptionId();
                if(mSubscriptionId==defaultSubscriptionId){
                    validSim=true;
                }
                else {
                    //display message to change your defalult data sim


                }
            }else {
                //display message to change your defalult data sim
            }

        }
        else {
         //display message to change your defalult data sim
        }

    }
    return validSim;
}