-1

我正在开发一个使用服务播放媒体播放器的应用程序。该应用程序运行良好,但当我接到电话或消息时,音乐继续播放。我的要求是当我接到电话时,音乐应该暂停,通话断开时,它应该从停止的地方恢复。我怎样才能做到这一点?

4

1 回答 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 回答