找到解决方法了,通过 intent 即可获取当前接收短信的SIM卡的卡槽索引,代码如下:
plus.android.invoke(extras, 'get', 'slot')
至于获取卡槽索引后怎么获取手机号码,代码如下:
const main = plus.android.runtimeMainActivity();
let context = plus.android.importClass('android.content.Context');
const subscriptionManager = main.getSystemService(context.TELEPHONY_SUBSCRIPTION_SERVICE);
// console.log(subscriptionManager);
const simCount = plus.android.invoke(subscriptionManager, 'getActiveSubscriptionInfoCount');
// console.log('获取SIM卡数量', simCount);
const subscriptionInfoList = plus.android.invoke(subscriptionManager, 'getActiveSubscriptionInfoList');
// console.log('获取SIM卡信息列表', subscriptionInfoList);
for (let i = 0; i < simCount; i++) {
const simInfo = plus.android.invoke(subscriptionInfoList, 'get', i);
// console.log('simInfo', simInfo);
const phoneNumber = plus.android.invoke(simInfo, 'getNumber');
this.phoneNumberList.push({
cardIndex: i, // 卡槽索引
phoneNumber: phoneNumber // 卡槽中的号码
});
}
2 个回复
落嘤神斧 (作者)
找到解决方法了,通过 intent 即可获取当前接收短信的SIM卡的卡槽索引,代码如下:
至于获取卡槽索引后怎么获取手机号码,代码如下:
落嘤神斧 (作者)
我有一个猜想:因为国外双卡双待手机很少,所以 Android 开发的时候就不考虑这个,直接通过获取本机号码就可以知道收件人号码