在Android上拨打电话结束时启动活动

时间:2009-11-21 20:00:32

标签: android android-activity

我想在通话结束时发起一项活动。 找不到任何参考。我该怎么办?

2 个答案:

答案 0 :(得分:2)

我没有尝试过这个,但我认为你可以运行一些服务(总是在后台运行),它使用PhoneStateListener。然后,您可以监听LISTEN_CALL_STATE,其中显示“侦听设备呼叫状态的更改”。我认为这会在呼叫开始,停止等时触发。然后,当您收到呼叫结束的消息时,您可以从服务启动您的活动。

请注意,您可能需要跟踪状态,并且当您在CALL_STATE_OFFHOOK时并且转到CALL_STATE_IDLE呼叫结束时不会跟踪。

答案 1 :(得分:0)

您不必使用服务。 您可以在AndroidManifest.xml文件中注册一个Receiver:

<receiver android:name=".callerID.IncomingCallReceiver" >
            <intent-filter android:priority="0">
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>

在Java类中检查手机状态并启动所需的活动 - 不要忘记使用FLAG_ACTIVITY_NEW_TASK启动它。