首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式搜索网络提供商/在双SIM设备上打开移动/可用网络设置

问以编程方式搜索网络提供商/在双SIM设备上打开移动/可用网络设置
EN

Stack Overflow用户
提问于 2014-11-03 19:59:45
回答 1查看 1.3K关注 0票数 0

我想在我的双SIM卡设备上执行网络提供商搜索。到目前为止,我一直在通过打开“网络设置”页面中的“可用网络”或“网络运营商”菜单项来做到这一点。我一直在这么做,目的是:

代码语言:javascript
复制
intent.setComponent(ComponentName.unflattenFromString("com.android.phone/.NetworkSetting"));

这将直接打开正确的活动,并自动开始搜索可用的网络。

然而,我现在使用的是双SIM卡设备,每当我出于上述意图打开该活动时,它都会在该活动的"SIM2“选项卡上打开,因此我收到一个搜索可用网络的错误(SIM2为空,但这无关紧要,因为我想在SIM1中使用该功能)。有没有办法选择在哪个SIM卡下打开活动?或者,在主SIM卡上打开搜索网络所需的活动的适当方式?

我一直在找,这不是很常见的事情,所以实际上什么也没找到。

EN

回答 1

Stack Overflow用户

发布于 2015-01-19 20:04:18

这段代码适用于我的中国A918 DualSim安卓手机:

代码语言:javascript
复制
Intent intent = new Intent();
intent.setClassName("com.android.phone", "com.mediatek.settings.MultipleSimActivity");
PackageManager packageManager = getPackageManager();
// check if intent is available on device:
List list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
    // set Intent to start after SIM card selection:
    intent.putExtra("TARGET_CLASS", "com.android.phone.NetworkSetting");
    intent.putExtra("ITEM_TYPE", "PreferenceScreen");
} else {
    // run default android network settings intent
    intent.setClassName("com.android.phone", "com.android.phone.NetworkSetting");
}
startActivity(intent);

在安卓DualSim手机中,你需要运行不同的意图才能进入NetworkSettings,因为当插入两张SIM卡时,你应该能够选择第一张或第二张卡。

在我的例子中,这是com.mediatek.settings.MultipleSimActivity。如果不起作用,请查看ADB日志,当通过android系统设置进入“可用网络”时启动了哪个意图

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

https://stackoverflow.com/questions/26713876

复制
相关文章

相似问题

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