4

デュアル 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;
    }




}

マニフェスト.xml

<service
        android:name="com.kabil.homeservice"
        >
   </service>
4

2 に答える 2

1

PhoneStateListenerPhoneStateListener(Integer subId)SIMサブスクリプションIDをコンストラクターに渡すことができる別のコンストラクターがあり、残りのタスクをそのまま実行します。

于 2018-06-26T10:15:09.553 に答える