首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双卡Android手机双卡状态检测

双卡Android手机双卡状态检测
EN

Stack Overflow用户
提问于 2011-11-03 22:03:58
回答 4查看 40.6K关注 0票数 20

我想通过编程方式检测我的双SIM卡android手机中是否有两张SIM卡。我找到了一个接口(TelephonyManager.getSIMState()),但它只适用于普通的单SIM卡手机。我的双卡手机是否插入了两个SIM卡,有什么接口可以检测吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-03 22:32:28

Android不支持多个SIMs,至少在SDK中是这样。已经创造了多SIM设备的设备制造商正在自己做这件事。欢迎您联系您的设备制造商,看看他们是否有SDK附加组件或允许您访问第二个SIM卡的东西。

编辑:(2015年7月15日)

从API22开始,您可以使用SubscriptionManager的方法getActiveSubscriptionInfoList()检查多个SIMs。更多详细信息请参阅Android Docs

票数 35
EN

Stack Overflow用户

发布于 2014-11-29 02:57:05

从现在开始,如果手机是MTK驱动的手机,你可以使用MediaTek SDK中的TelephonyManagerEx类。

看看the docs吧。

票数 3
EN

Stack Overflow用户

发布于 2013-01-31 14:49:51

好吧,这不是愚蠢的证据。但是如果你有两个SIM卡,在两个不同的网络运营商上,你可以尝试这样做:

代码语言:javascript
运行
复制
PhoneServiceStateListener listener = new PhoneServiceStateListener(this);
tm.listen(listener, PhoneStateListener.LISTEN_SERVICE_STATE);


.
.
.
class PhoneServiceStateListener extends PhoneStateListener {
Context context = null;

public PhoneServiceStateListener(Context context) {
    this.context = context;
}

public PhoneServiceStateListener() {
}

@Override
public void onServiceStateChanged(ServiceState serviceState) {

    if (serviceState.getState() == ServiceState.STATE_IN_SERVICE) {
        //You get this event when your SIM is in service.
        //If you get this event twice, chances are more that your phone is Dual SIM.
        //Alternatively, you can toggle Flight Mode programmatically twice so
        //that you'll get service state changed event.
    }
    super.onServiceStateChanged(serviceState);
}

}

理想情况下,您将获得两个SIM卡的SIM卡服务状态更改事件,然后您可以检查网络运营商的名称或类似的东西,以检查您是否有两个SIM卡。但你需要在两个不同的网络上运行两张SIM卡。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7996197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档