0

デバイスが動作中のときにサービスを開始および停止したいので、TelephonyManager を使用し、クラスがフラグメントを拡張します。私はこのコードを試しました

 TelephonyManager tm = (TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE);
        tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);


    private PhoneStateListener mPhoneListener = new PhoneStateListener() {
    public void onCallStateChanged(int state, String incomingNumber) {

            switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                getActivity().stopService(new Intent(getActivity(),LockScreenService.class));

                break;

            case TelephonyManager.CALL_STATE_OFFHOOK:
                getActivity().stopService(new Intent(getActivity(),LockScreenService.class));
                break;

            case TelephonyManager.CALL_STATE_IDLE:
                getActivity().startService(new Intent(getActivity(),LockScreenService.class));

                break;

            }
        } 
    } 
;

しかし、それは機能しません。アドバイスをお願いします。本当にありがとう

4

1 に答える 1