对不起我的英语!
您在音乐播放器准备好之前显示控制器。准备好后,您需要从控制器通知您的活动。
public void onPrepared(MediaPlayer mp) {
mp.start();
Intent onPreparedIntent = new Intent("MP_READY");
LocalBroadcastManager.getInstance(activity).sendBroadcast(onPreparedIntent);
}
然后您需要在您的活动中创建一个 BroadcastReceiver 并覆盖他的 onReceive 方法以显示控制器。
private BroadcastReceiver mpReadyReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent i) {
controller.show(0);
}
};
您还需要在活动的 onResume() 中注册接收者。
protected void onResume() {
super.onResume();
LocalBroadcastManager.getInstance(this).registerReceiver(mpReadyReceiver,
new IntentFilter("MP_READY"));
}
现在尝试仅在必要时调用 controller.show。
注意不要创建多个控制器实例