在API-19中获取两个sim的序列号

时间:2017-02-04 21:52:28

标签: android

我正在使用def get_user_info(profile_ins): fav_loc = list() lat = list() lon = list() for loc in UserLoc.objects.filter(profile=profile_ins): fav_loc.append(loc.name) lat.append(loc.location.geo_code_lat) lon.append(loc.location.geo_code_lon) userlocs = list(zip(fav_loc, lat, lon)) return userlocs 获取sim的序列号,但如果设备是双卡,我想获得两个sim的序列号。我知道我可以使用this answer执行此操作,但该方法过于复杂。所以问题是有没有更简单的方法?我的设备的Android版本是KitKat(API-19)。

1 个答案:

答案 0 :(得分:0)

既然你正在寻求帮助,我将重新制定answer中的内容。

  1. 制作新的class public final class TelephonyInfo
  2. 复制/通过此answer
  3. 中的代码
  4. 获取TelephonyInfo class的实例并使用它。
  5. 如何获取实例?

    // From an Activity, a Service...
    TelephonyInfo telephonyInfo = TelephonyInfo.getInstance(this);
    

    如何获得两个Imsis?

    // Check if the phone supports two SIM cards
    if (telephonyInfo.isDualSIM()) {
        // Check if the first SIM is ready
        if (telephonyInfo.isSIM1Ready()) {
            String imsiSIM1 = telephonyInfo.getImsiSIM1();
        }
        // Check if the second SIM is ready
        if (telephonyInfo.isSIM2Ready()) {
            String imsiSIM2 = telephonyInfo.getImsiSIM2();
        }
    }
    

    检查original answer,写得非常好。