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.