Какой сим использует мобильные данные?
Как проверить, какой сим использует мобильные данные? или так выразиться; на каких симках включены мобильные данные?
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;
}