Получить сим-карту имени оператора - PullRequest
0 голосов
/ 01 августа 2020

Пишу простой виджет. Я хочу получить имена операторов на телефоне с двумя SIM-картами. Я пытаюсь использовать класс SubscriptionManager . Мои действия:

Настройка разрешений:

<uses-permission android: name = "android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android: name = "android.permission.READ_PHONE_STATE" />

Попытка использовать getActiveSubscriptionInfoList метод для получения всех симок:

@Override
public void onEnabled(Context context) {
    super.onEnabled(context);
    if (ActivityCompat.checkSelfPermission (context, Manifest.permission.READ_PHONE_STATE)! = 
PackageManager.PERMISSION_GRANTED) {
       if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.P) {
           SubscriptionManager subscriptionManager = SubscriptionManager.from (context.getApplicationContext ());
           List <SubscriptionInfo> subsInfoList = subscriptionManager.getActiveSubscriptionInfoList ();

           Toast.makeText (context, subsInfoList.size (), Toast.LENGTH_SHORT) .show ();
           // ... etc
        }
    }
}

The Метод getActiveSubscriptionInfoList всегда возвращает пустую коллекцию. Почему это происходит? Моя конфигурация: устройство Huawei P30, Android 10.0, Android Studio 4.0.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...