之前一个项目的需要是需要打开MTK系统的apn设置的页面涉及到subid的
大概了解下android的sim卡相关,
Intent intent = new Intent(Settings.ACTION_APN_SETTINGS);
startActivity(intent);
正常只要这么写就是可以的,但是在mtk 5.0以后平台的情况下会闪退,高通的设备也是可以的
翻了下源码,打开页面的时候 传了个subid 的参数
后来查了下资料,改成这么跳转了
Intent apnintent = new Intent(Settings.ACTION_APN_SETTINGS);
try {
Class<?> classType = SubscriptionManager.class;
Method getMethod = classType.getDeclaredMethod("getSubId", int.class);
int [] values = (int []) getMethod.invoke(classType, 0); //0代表当前卡插在卡槽1当中(主卡槽),1代表当前卡插在卡槽2当中(副卡槽),-1代表曾经手机插入过此卡,现在已经移除
apnintent.putExtra("sub_id", values );