Не получено состояние вызова Picked в BroadcastListener - PullRequest
0 голосов
/ 30 января 2019

Я получаю это сообщение журнала 'I/PhoneStatReceiver: call OUT:phone_number" Я не получаю сообщение журнала, когда кто-то выбрал вызов и другое состояние вызова. Поэтому любой может помочь мне решить эту проблему.

Файл манифеста:

<activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <receiver android:name=".BroadCast" >
        <intent-filter>
            <action android:name="android.intent.action.PHONE_STATE" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
        </intent-filter>
</receiver>        

MainActivity:

BroadCast br = new BroadCast();
IntentFilter filter = new 
IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
this.registerReceiver(br, filter);

BroadCast:

@Override
public void onReceive(Context context, Intent intent) {
    if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){

        incomingFlag = false;

        String phoneNumber = 
   intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        Log.i(TAG, "call OUT:"+phoneNumber);
        TelephonyManager tm =

(TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
        switch (tm.getCallState()) {
            case TelephonyManager.CALL_STATE_RINGING:
                incomingFlag = true;
                incoming_number = intent.getStringExtra("incoming_number");
                Log.i(TAG, "RINGING :"+ incoming_number);
                break;
            case TelephonyManager.CALL_STATE_OFFHOOK:
                if(incomingFlag){
                    Log.i(TAG, "incoming ACCEPT :"+ incoming_number);
                }
                break;
            case TelephonyManager.CALL_STATE_IDLE:
                if(incomingFlag){
                    Log.i(TAG, "incoming IDLE");
                }
                break;
                default:
                    Log.e("ds","Error");
        }

    }
  }
}

Я получаю это сообщение журнала 'I/PhoneStatReceiver: call OUT:phone_number" Iя не получаю сообщение журнала, когда кто-то выбрал вызов и другое состояние вызова. поэтому кто-нибудь может помочь мне решить эту проблему.

Заранее спасибо

...