I want to use 'PreciseCallState.java' to listen the state of out-going call.
public class OutCallLogger extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
switch (intent.getIntExtra(TelephonyManager.EXTRA_FOREGROUND_CALL_STATE, -2)) {
case PreciseCallState.PRECISE_CALL_STATE_IDLE:
//Log.d(this.LOG_TAG, "IDLE");
Toast.makeText(context,"hello",Toast.LENGTH_LONG).show();
break;
case PreciseCallState.PRECISE_CALL_STATE_DIALING:
//Log.d(this.LOG_TAG, "DIALING");
break;
case PreciseCallState.PRECISE_CALL_STATE_ALERTING:
//Log.d(this.LOG_TAG, "ALERTING");
break;
case PreciseCallState.PRECISE_CALL_STATE_ACTIVE:
//Log.d(this.LOG_TAG, "ACTIVE");
break;
}
}
and I also added this to AndroidManifest.xml.
<uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
<receiver android:name=".listener.OutCallLogger">
<intent-filter>
<action android:name="android.intent.action.PRECISE_CALL_STATE" />
</intent-filter>
</receiver>
but AndroidStudio said "Cannot resolve symbol 'PreciseCallState'", although I know PreciseCallState.java exists in sdk folder/android/telephony.