猿问

如何检测何时接听或拒绝电话

电话铃响时,我设法准备了一项活动。现在,我需要知道在拨打电话或拒绝通话时如何取消此活动。我要拨打EXTRA_STATE_IDLE吗?EXTRA_STATE_OFFHOOK?


有任何想法吗?


<receiver android:name=".IncomingBroadcastReceiver">                     

        <intent-filter>                                                   

            <action android:name="android.intent.action.PHONE_STATE"/>   

        </intent-filter>

    </receiver> 




public class IncomingBroadcastReceiver extends BroadcastReceiver {


@Override

public void onReceive(Context context, Intent intent) {

    String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);

    // If an incoming call arrives

    if (state.equals(TelephonyManager.EXTRA_STATE_RINGING))

    { //Did my work }


慕容森
浏览 518回答 3
3回答

PIPIONE

如果是拨出电话,上述答案是完全错误的。在Android中,没有一种方法可以检测到呼叫是否得到了实际应答(如果有去电)。拨打号码后,off_hook状态即被触发。这是Android编程的缺点之一。
随时随地看视频慕课网APP

相关分类

Android
我要回答