手机后台播音乐,设置闹钟,打一通电话,挂断电话后,闹钟与音乐同时

2017-11-22  本文已影响7人  RTThread小师弟

[DESCRIPTION]

操作步骤:

1. 手机后台播音乐,设置一个闹钟

2. 打一通电话

3. 挂断电话

现象:

闹钟和音乐的声音会同时播放

[SOLUTION]

这是google 默认行为,若贵司一定要改,请参考以下方法:

请尝试按照如下方法进行修改:

php?mod=tag&id=6090" target="_blank" class="relatedlink">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;

}

来源:一牛网论坛

上一篇 下一篇

猜你喜欢

热点阅读