在恢复时销毁上次执行的活动

时间:2015-01-07 16:07:23

标签: android

我正在开发一个音乐应用程序,可以从互联网上检索音乐文件。

我有两项活动

  1. MainActivity
  2. PlayerActivity
  3. 当某人点击MainActivity中的某个元素时,会加载第二个PlayerActivity并开始播放歌曲

    第一次它运作良好。当有人点击后退按钮并点击另一个元素时,问题就来了,这次歌曲开始播放而不停止当前播放的歌曲,

    这是我的代码,我尝试过。

    MainActivity

                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);
    

    PlayerActivity

     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();
        }
    

    注意: 如果需要,我可以发布完整的代码。

1 个答案:

答案 0 :(得分:0)

我想这是因为你拥有一个不同的玩家实例,这就是为什么当你停止它时它会“停止”一个不同于你想要的玩家。玩家没有附加到活动,并且在活动被销毁时不会被销毁...

您应该只有一个播放器实例。也许使用单身或静态单身。 活动停止后你能阻止玩家吗?比如,在它的毁灭中?

如果不清楚你可以尝试上传更多代码,那么我们可以看到更多......