android - phonestatelistener 未被调用用于 sim 插槽 2

标签 android listener state phone-call dual-sim

我有一部双 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/

相关文章:

android - Activity 中的后退按钮无需重新创建先前的 Activity (Android)

Java - Swing 中的监听器

java - 如何在 JavaFX 中触发 Textfield 监听器?

javascript - 使用意外日志记录响应 native 更改状态

javascript - 如何在 react 循环中设置动态复选框的状态?

android - AppModule.provideViewModelFactories(AppModule.kt) 处的 NoClassDefFoundError

android - 我想模拟 Samsung Galaxy S10+,但皮肤无法模拟行为

java - 多个听众

list - Scala 对象不改变其内部状态

java - Firebase Cloud Firestore : Invalid collection reference. 集合引用必须有奇数个段