Какой сим использует мобильные данные?

Как проверить, какой сим использует мобильные данные? или так выразиться; на каких симках включены мобильные данные?

1 ответ

Решение

После долгих попыток я смог найти то, что сим использует мобильные данные, но этот код работает только на Android версии 7 и выше. этот код проверяет, включены ли данные на первичной SIM-карте, возвращает true, иначе возвращает 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;
}
Другие вопросы по тегам