我正在开发一个使用服务播放媒体播放器的应用程序。该应用程序运行良好,但当我接到电话或消息时,音乐继续播放。我的要求是当我接到电话时,音乐应该暂停,通话断开时,它应该从停止的地方恢复。我怎样才能做到这一点?
问问题
184 次
1 回答
0
我不确定您是如何编写应用程序的,但这应该对您有所帮助。看看这个如何知道被叫人拿起电话的那一刻你只需要在指定事件的 switch 语句中暂停音乐
TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tm.listen(mPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);
private PhoneStateListener mPhoneListener = new PhoneStateListener() {
public void onCallStateChanged(int state, String incomingNumber) {
try {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
// do something...
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
// this state is the one you're looking for
break;
case TelephonyManager.CALL_STATE_IDLE:
// do something...
break;
default:
Log.d(TAG, "Unknown phone state=" + state);
}
} catch (RemoteException e) {}
}
};
编辑:这是另一个链接 检测是否已接听拨出电话
于 2012-08-22T02:16:52.713 回答