android 5.0 播放音乐时闹钟响,此时来电话并挂断,闹钟和音乐同

请按照如下方法进行修改:frameworks\base\media\java\android\media\MediaFocusControl.java:1、import packages:import com.android.internal.telephony.ITelephony;import android.os.ServiceManager;2、增加获取当前Phone Call State的方法getPhoneCallState(): private int getPhoneCallState(){ int phoneCallState = TelephonyManager.CALL_STATE_IDLE; TelephonyManager telephonyManager = (TelephonyManager)mContext.getSystemService(Context.TELEPHONY_SERVICE); ITelephony telephonyService = ITelephony.Stub.asInterface(ServiceManager.getService(Context.TELEPHONY_SERVICE)); if (telephonyService != null) { Log.w(TAG, "getPhoneCallState: mTelephonyService != null"); try { phoneCallState = telephonyService.getPreciseCallState(); Log.w(TAG, "getPhoneCallState: telephonyService.getPreciseCallState() = " + phoneCallState); } catch (RemoteException ex) { if(telephonyManager != null){ phoneCallState = telephonyManager.getCallState(); Log.w(TAG, "getPhoneCallState: telephonyManager.getCallState() = " + phoneCallState); } Log.w(TAG, "Catch exception when getPreciseCallState: ex = " + ex.getMessage()); } } else { Log.w(TAG, "getPhoneCallState: telephonyService == null"); if(telephonyManager != null){ phoneCallState = telephonyManager.getCallState(); Log.w(TAG, "getPhoneCallState: telephonyManager.getCallState() = " + phoneCallState); } } Log.w(TAG, "getPhoneCallState: phoneCallState = " + phoneCallState); return phoneCallState; }3、修改 private boolean canReassignAudioFocus() { // focus requests are rejected during a phone call or when the phone is ringing // this is equivalent to IN_VOICE_COMM_FOCUS_ID having the focus if (!mFocusStack.isEmpty() && mFocusStack.peek().hasSameClient(IN_VOICE_COMM_FOCUS_ID)) { return false; } return true; }为 private boolean canReassignAudioFocus() { // focus requests are rejected during a phone call or when the phone is ringing // this is equivalent to IN_VOICE_COMM_FOCUS_ID having the focus if (!mFocusStack.isEmpty() && mFocusStack.peek().hasSameClient(IN_VOICE_COMM_FOCUS_ID) && (getPhoneCallState() != TelephonyManager.CALL_STATE_IDLE)) { Log.w(TAG, "canReassignAudioFocus: return false"); return false; } Log.w(TAG, "canReassignAudioFocus: return true"); return true; }

,地球仍然转重,世间依旧善变,而我永远爱你。

android 5.0 播放音乐时闹钟响,此时来电话并挂断,闹钟和音乐同

相关文章:

你感兴趣的文章:

标签云: