我正在尝试在Android中制作音乐播放器。我有两个活动。 MainActivity:更新歌曲列表并显示它们。 PlaySongActivity:实现基本功能:播放,暂停,下一个,上一个。
现在,我希望在这两项活动之间切换。当我从PlaySongActivity按下后退按钮时,我回到MainActivity。但是当我按下NowPlaying按钮时,我不知道该怎么做。 这就是我在做什么。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
updatePlayList();
Button nowPlayingBtn = (Button) findViewById(R.id.nowPlayingBtn);
nowPlayingBtn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(MainActivity.this, PlaySongActivity.class);
startActivity(intent);
}
});
}
@Override
protected void onListItemClick(ListView list, View v, int position, long id) {
intent = new Intent(MainActivity.this, PlaySongActivity.class);
intent.putExtra("position",position);
intent.putExtra("songsList", songs);
startActivity(intent);
}
答案 0 :(得分:2)
AFAIK如果没有Activity
,则无法转到新的Intent
。您可以使用Fragments
代替Activities
。另一种选择是使用Application Context
代替Activity Context
来管理音乐,并能够通过activities
继续播放。
答案 1 :(得分:1)
目前尚不清楚具体问题是什么。
请查看有关如何创建音乐播放器的Android示例(位于SDK文件夹中)(您需要服务和通知)。
你不能去活动A - >没有意图的活动B(你可以使用从B到A的后退按钮返回)。
为什么不想使用Intents?意图是Android中活动和应用程序之间的通信机制,不要试图对抗当前的游戏。
要让活动A知道活动B中发生的事情,您可以使用监听器/观察者模式,但在这种情况下,我认为最好实现您的BroadcastReceiver来收听您的服务广播以及服务时说: “我在玩!”你可以做你的魔法。