0
私のゲームには普通のonAudioFocusChange
というコードがあります。電話の後にAUDIOFOCUS_LOSS_TRANSIENTの後にAUDIOFOCUS_GAINが呼び出されない
@Override
public void onAudioFocusChange(int focusChange) {
switch (focusChange) {
case AudioManager.AUDIOFOCUS_GAIN:
Log.i(TAG,"AUDIOFOCUS_GAIN");
mHasAudioFocus = requestAudioFocus();
break;
case AudioManager.AUDIOFOCUS_LOSS:
Log.i(TAG,"AUDIOFOCUS_LOSS");
abandonAudioFocus();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
Log.i(TAG,"AUDIOFOCUS_LOSS_TRANSIENT");
abandonAudioFocus();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
Log.i(TAG,"AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK");
abandonAudioFocus();
break;
default:
Log.i(TAG,"Unrecognized audiofocus change");
}
問題は、フローティングウィンドウがサムスンの携帯電話に表示されたときにアプリケーションがAUDIOFOCUS_LOSS_TRANSIENT
メッセージを受信したこと、であるが、このウィンドウが閉じられたときに、何のメッセージは、アプリケーションに来ることはありません。ここで
関連するログの行です:このウィンドウの閉鎖をキャッチする方法
13:20:53.253 770 7745 I MediaFocusControl: AudioFocus requestAudioFocus() from AudioFocus_For_Phone_Ring_And_Calls
13:20:53.253 14499 14499 I com.js.helpers.JSNativeActivity: AUDIOFOCUS_LOSS_TRANSIENT
13:20:53.253 14499 14499 I com.js.helpers.JSNativeActivity: abandonAudioFocus()
13:20:53.253 14499 14499 I JSNativeActivity: onAbandonAudioFocus
13:20:53.253 770 1508 I MediaFocusControl: AudioFocus abandonAudioFocus() from android.media.AudioManager$42599770com.js.helpers.JSNativeActivity$4252c788
13:20:53.253 770 1508 I MediaFocusControl: AudioFocus removeFocusStackEntry(): removing entry for android.media.AudioManager$42599770com.js.helpers.JSNativeActivity$4252c788
13:21:01.383 770 1220 I MediaFocusControl: AudioFocus abandonAudioFocus() from AudioFocus_For_Phone_Ring_And_Calls
任意のアイデア?