如何从android跟踪来电事件/状态?

时间:2015-11-10 07:13:28

标签: android call

我正在打电话。 我可以在按下呼叫按钮时跟踪事件,但是当我发送给其他人或者其他人已经接到呼叫时,我无法跟踪事件。 有没有办法跟踪这些事件???

1 个答案:

答案 0 :(得分:0)

使用此代码

public class PhListener extends BroadcastReceiver {

@Override
public void onReceive(Context c, Intent i) {
    // TODO Auto-generated method stub
    Bundle bundle = i.getExtras();

    if (bundle == null)
        return;

    String s = bundle.getString(TelephonyManager.EXTRA_STATE);

    if (i.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
        String number = i.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

    }else if (s.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
        String number = bundle.getString("incoming_number");

    }else if (s.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {

    }else if (s.equals(TelephonyManager.EXTRA_STATE_IDLE)) {

    }

}

并在Manifest声明

    <receiver android:name="com.android.receiver.PhListener" >
        <intent-filter android:priority="-1" >
            <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            <action android:name="android.intent.action.PHONE_STATE" />
        </intent-filter>
    </receiver>