我对Android开发很新,我已经开始制作音乐播放器了。我有两个活动。一个是主要的,您可以看到本地存储中的所有相册并选择一个。选择一个第二个活动启动时,显示该专辑中的歌曲。用户可以点击歌曲并播放歌曲。我已将该服务绑定到该活动,并播放该歌曲。但是,当歌曲开始播放时,我无法导航到之前的活动。
我希望能够返回主要活动并能够继续浏览专辑并选择另一首歌曲。我不确定是否必须再次绑定服务以及如何操作。
以下是代码的一些部分。
清单文件
<activity
android:name=".AlbumActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SongActivity"
android:screenOrientation="portrait">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="realm.chaos.mplayer.AlbumActivity" />
</activity>
<service android:name="realm.chaos.mplayer.MusicService"/>
这是SongActivity中我定义和使用musicService的部分。
private ServiceConnection musicConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MusicBinder binder = (MusicBinder)service;
musicSrv = binder.getService();
musicSrv.setList(songList);
musicBound = true;
}
@Override
public void onServiceDisconnected(ComponentName name) {
musicBound = false;
}
};
@Override
protected void onStart() {
super.onStart();
if(playIntent == null) {
playIntent = new Intent(this, MusicService.class);
bindService(playIntent, musicConnection, Context.BIND_AUTO_CREATE);
}
}
我不知道这是否有帮助,但是播放歌曲我扩展了Android的默认媒体控制器。我计划在将来改变它,因为它看起来很麻烦,我对它的功能不满意。 我的代码基于本教程http://code.tutsplus.com/tutorials/create-a-music-player-on-android-song-playback--mobile-22778。我的SongActivity实际上是那里描述的活动,而AlbumActivity是我用作父母的新活动。
***我还读过你可以绑定或启动服务。我不确定是建议哪一个。我想让音乐播放并改变观点。我可能会添加更多可能用于更新服务的视图。