此代码适用于我的 China A918 DualSim Android 手机:
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);
在 Android DualSim 手机中,您需要运行不同的 Intent 才能进入 NetworkSettings,因为当插入两张 SIM 卡时,您应该可以选择第一张或第二张卡。
就我而言,这是com.mediatek.settings.MultipleSimActivity
. 如果它不起作用,请通过 android 系统设置检查进入“可用网络”时启动的 Intent 的 ADB 日志