我试图在我的应用程序中使用媒体播放器,并且试图阻止媒体播放器进行其他活动,我的编码如下:
FirstActivity:
public void stop() {
if (playPause == false) {
control.setBackgroundResource(R.drawable.play);
mediaPlayer.stop();
new Player().cancel(true);
media.stop();
media.reset();
mediaPlayer.reset();
if (mediaPlayer.isPlaying())
mediaPlayer.stop();
mediaPlayer.reset();
media.stop();
playPause = true;
} else {
control.setBackgroundResource(R.drawable.pause);
if (intialStage) {
new Player()
.execute(URL);
} else {
if (!mediaPlayer.isPlaying())
mediaPlayer.start();
}
playPause = false;
}
}
SecondActivity:
计时器结束后必须停止媒体播放器:
@Override
public void onFinish() {
textViewTime.setText(hmsTimeFormatter(timeCountInMilliSeconds));
// call to initialize the progress bar values
setProgressBarValues();
// hiding the reset icon
imageViewReset.setVisibility(View.GONE);
// changing stop icon to start icon
imageViewStartStop.setImageResource(R.drawable.icon_start);
// making edit text editable
editTextMinute.setEnabled(true);
// changing the timer status to stopped
timerStatus = TimerStatus.STOPPED;
MainActivity main = new MainActivity();
main.stop();
}
}.start();
countDownTimer.start();
}
上面的编码显示错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setBackgroundResource(int)' on a null object reference
at com.digitamatix.mukilfm.MainActivity.stop(MainActivity.java:549)
我必须在第一次活动中停止媒体播放器,请帮助我进行编码以解决问题
最佳答案
看到我已经使用startActivityForResult开始了活动。 onActivityResult您将获得结果。
startActivityForResult(Activity1.createIntent(this), 1001);
//handle callback result
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == 1001) {
}
}
}
下面的代码将在您要回调并完成该活动的下一个活动中调用。您可以以此意图传递任何值。
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
因此,根据要求,您可以使用此功能。停止媒体播放器。其他选项也本地广播。
希望这会帮助你。
关于android - 如何以编程方式阻止媒体播放器退出Android中的其他 Activity ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46177105/