0

I write simple widget. I want to get the names of operators on a dual sim phone I am trying to use the SubscriptionManager class. My actions:

Setting permissions:

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

Attempting to use getActiveSubscriptionInfoList method to get all sims:

@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 method always returns an empty collection. Why is this happening? My configuration: Huawei device P30, Android 10.0, Android Studio 4.0.1.

Range
  • 416
  • 7
  • 20
  • Similar (or duplicate) to [this question](https://stackoverflow.com/questions/39565646/get-both-simcard-operator-name-in-dual-sim-mobile)? –  Jul 31 '20 at 22:57
  • Does this {https://stackoverflow.com/questions/39565646/get-both-simcard-operator-name-in-dual-sim-mobile} solve your query? – segfault404 Aug 01 '20 at 06:31
  • @MattF.; @segfault404 The answer works, but I'm wondering why doesn't it function the class SubscriptionManager? – Range Aug 01 '20 at 12:48

0 Answers0