java - 获取运营商姓名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
}
}
}
getActiveSubscriptionInfoList方法总是返回一个空集合。为什么会这样?我的配置:华为设备P30,Android 10.0,Android Studio 4.0.1。
解决方案
推荐阅读
- c++ - 编译时未启用 intel-oneApi CUDA 支持
- java - Java Swing. using a single button to read from txt files and print to a text area
- jmeter - JMeter counter does not work with variable for starting value
- c# - How to show portion of the form capable of add or already added item to view or edit in asp.net
- python - 如何读取 json 文件,找到一个键并将相关数据作为对象带到 Python 上?
- javascript - Group object values by date
- python - Reshape data skipping specific number of points
- highcharts - Render SVG images on each point of gantt chart in highcharts
- python - Spotipy 401 / 405 未提供令牌
- android-studio - 如何在 Android Studio 中启用 Flutter 意图(IDE 快捷方式)