您好我正在尝试在我的应用中使用媒体播放器,并且我试图阻止媒体播放器进行我的编码所遵循的其他活动:
FirstActivity:
print()
SecondActivity:
计时器结束后必须停止媒体播放器:
Department
以上编码显示错误:
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;
}
}
我必须在首次活动中停止媒体播放器,请帮助我修改我的问题
答案 0 :(得分:1)
看我已经开始使用 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();
因此,根据要求,您可以使用此功能。停止媒体播放器。其他选项本地广播也是如此。 希望这会对你有所帮助。
答案 1 :(得分:0)
(根据您发布的代码)
这里看起来问题是你正在调用一个方法,该方法从一个看不见的活动中引用xml resource
。
您正在创建istance
的{{1}},但由于它从未显示过,MainActivity
和其他生命周期方法永远不会被触发,而onCreate
是空的。
您至少有3种方法:
control
,引用正在运行的活动的新功能并不是一个好习惯。只需使用S setResult
和tartActivityForResult(activityB)
来触发setResult(res)
回调。Singleton
并随身携带,无论您身在何处希望这有帮助!