android MTK SIM双卡,apn,subid和slotid相关

本文介绍了Android MTK平台下,如何处理SIM双卡,特别是APN设置、SUBID和SLOTID的概念。SUBID是SIM卡在系统中记录的编号,而SLOTID标识卡槽位置,0为主卡槽,1为副卡槽。在单卡设备中直接使用0作为参数没问题,但在双卡设备中需要正确识别当前网络所属的卡。文章提到通过反射和AIDL接口来获取默认数据、短信和通话的slotId及subId,但某些方法在运行时可能无法直接调用。同时推荐了几篇相关的博客资源,帮助理解APN设置的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一个项目的需要是需要打开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 );
            	
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值