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实例是在类中创建的,而不是在任何方法/函数中创建的。