Android 继续时销毁活动的最后一次执行
我正在开发一个音乐应用程序,从互联网上检索音乐文件 我有两项活动Android 继续时销毁活动的最后一次执行,android,Android,我正在开发一个音乐应用程序,从互联网上检索音乐文件 我有两项活动 主要活动 玩家活动 当某人单击main活动中的某个元素时,这将加载第二个PlayerActivity,并开始播放歌曲 第一次它工作得很好。当有人点击“后退”按钮并点击另一个元素时,问题就出现了。这首歌开始播放,但没有停止当前播放的歌曲 这是我的代码,我已经试过了 main活动 Intent intent = new Intent(v.getContext(), PlayerActivity.class);
main活动中的某个元素时,这将加载第二个PlayerActivity
,并开始播放歌曲
第一次它工作得很好。当有人点击“后退”按钮并点击另一个元素时,问题就出现了。这首歌开始播放,但没有停止当前播放的歌曲
这是我的代码,我已经试过了
main活动
Intent intent = new Intent(v.getContext(), PlayerActivity.class);
EditText albumID = (EditText) findViewById(R.id.albumID);
String message = albumID.getText().toString();
intent.putExtra(ALBUMID, message);
startActivity(intent);
try {
if(player.isPlaying()) {
player.release();
}
player.reset();
player.setDataSource(urls.get(position));
player.prepare();
player.start();
seekbar.setMax(player.getDuration());
} catch (IOException e) {
e.printStackTrace();
}
玩家活动
Intent intent = new Intent(v.getContext(), PlayerActivity.class);
EditText albumID = (EditText) findViewById(R.id.albumID);
String message = albumID.getText().toString();
intent.putExtra(ALBUMID, message);
startActivity(intent);
try {
if(player.isPlaying()) {
player.release();
}
player.reset();
player.setDataSource(urls.get(position));
player.prepare();
player.start();
seekbar.setMax(player.getDuration());
} catch (IOException e) {
e.printStackTrace();
}
注意:
如果需要,我可以发布完整的代码。我想这是因为您持有不同的player实例,这就是为什么当您停止它时,它会“停止”一个不同于您想要的播放器的原因。玩家未附加到某个活动,并且当活动被销毁时,该活动不会被销毁
你应该只有一个玩家的实例。可能使用单态或静态。
当活动停止时,您可以停止播放机吗?比如,在《毁灭》中
如果不清楚,您可以尝试上载更多代码,以便我们可以看到更多..那么,您想停止播放的歌曲的播放吗?另外,您将PlayerActivity的代码(在哪个函数中)放在了哪里?代码位于onListItemClick
列表项click listener中。而且MediaPlayer实例是在类中创建的,而不是在任何方法/函数中创建的。