如何在双卡安卓手机中找到来电的目标SIM卡?

时间:2015-10-08 13:27:38

标签: android android-service android-broadcast telephonymanager dual-sim

我正在创建一个Android应用程序,我需要在双卡手机中检测来电的目标SIM卡。 Android API仅提供一个SIM卡的访问权限。我做了谷歌搜索,但找不到解决方案,我发现只是我们无法检测目标SIM,因为这取决于设备制造商。

是否有可用于检测目标SIM的API?

2 个答案:

答案 0 :(得分:0)

在棒棒糖22+

public class MessageReceiver extends BroadcastReceiver {
@Override
 public void onReceive(Context context, Intent intent) {  
  int slot = Integer.parseInt((String) intent.getExtras().get("slot"));
  if(slot == 0){
    // sim1
  }
  if(slot == 1){
    // sim2
  }
}

}

在联想K3笔记中测试

答案 1 :(得分:-1)

试试这个......

    public class IncomingCallInterceptor extends BroadcastReceiver {
@Override
    public void onReceive(Context context, Intent intent) {
    String callingSIM = "";
    Bundle bundle = intent.getExtras();
    callingSIM =String.valueOf(bundle.getInt("simId", -1));
    if(callingSIM == "0"){
        // Incoming call from SIM1
    }
    else if(callingSIM =="1"){
        // Incoming call from SIM2
    }
    }
}