我可以通过编码获取Android中的来电接听和结束通话事件吗?我希望当我收到来电时,应该显示吐司信息。就像来电一样,当我们结束通话时,我想要那个应该在我的app中显示toast信息。请建议我。
答案 0 :(得分:4)
如果您只想在应用程序的一个活动中使用它,那么请使用以下代码:
PhoneStateListener phoneStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
// Incoming call: Pause music
Log.i("Phone", "Ringing");
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
Log.i("Phone", "Idle");
} else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
// A call is dialing, active or on hold
Log.i("Phone", "offhook");
}
super.onCallStateChanged(state, incomingNumber);
}
};
或者,如果您想在应用程序之外显示吐司前夕,请尝试制作service
。
有一些很好的服务教程可用。
首先阅读开发人员的this。
并查看此tutorial。
答案 1 :(得分:0)
您需要使用BroadcastReceiver。试试这个tutorial。