我有一部双 SIM 卡(插槽 0 和插槽 1)手机。 我的服务中有 phonestatelistener。此监听器仅在 sim 插槽 0 中的 SIM 收到调用。当一个 SIM 插槽 1 中的 SIM 卡来电。
我已经更换了 SIM 卡并确认无论 SIM 卡是什么,phonestatelistener 仅在 SIM 插槽 0 中获得 SIM 卡的回调。
我无法理解这个问题。
请告诉我可能是什么问题
Phone model samsung galaxy s duos 2 (GT-S7562) OS jelly bean 4.2.2
Homeservice.java
public class Homeservice extends Service{
TelephonyManager telephonyManager;
PhoneStateListener listener;
@Override
public void onCreate() {
// Get the telephony manager
telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// Create a new PhoneStateListener
listener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
//finish something
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
//do somethings
break;
case TelephonyManager.CALL_STATE_RINGING:
break;
}
}
};
// Register the listener wit the telephony manager
telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
}
list .xml
<service
android:name="com.kabil.homeservice"
>
</service>
最佳答案
PhoneStateListener
有另一个构造函数 PhoneStateListener(Integer subId)
您可以在其中将您的 sim 卡订阅 ID 传递给构造函数,它将按原样完成剩余的任务。
关于android - phonestatelistener 未被调用用于 sim 插槽 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25009926/