1
以服務
我做了一個實現MediaPlayer
功能的Android應用程序,我知道它的晚,但現在好多了總比不,我想實現一個服務,能夠播放媒體時其他應用程序上的multitasking
。傳遞一個字符串數組列表,從活動的Android
有沒有辦法通過例如ArrayList
的String
從活動到service
?我發現大約Custom Objects
是通過parcelable
我認爲這是沒有必要傳遞的信息。
例如,如何我開始我的轉變:
public class PlayerService extends Service implements MediaPlayer.OnPreparedListener{
private static final String ACTION_PLAY = "action.PLAY";
private static final String ACTION_PAUSE = "action.PAUSE";
private MediaPlayer mediaPlayer = null;
@Override
public void onCreate() {
mediaPlayer = new MediaPlayer();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent.getAction().equals(ACTION_PLAY)) {
try {
if(mediaPlayer.isPlaying()) {
mediaPlayer.stop();
}
mediaPlayer.reset();
mediaPlayer.setDataSource(musicUrl.get(position));
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
// setCurrentSong(myDataList.get(position));
// morphButton.setState(MorphButton.MorphState.START);
//
// setHighlight(myDataList.get(currentPosition));
}
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onPrepared(MediaPlayer mp) {
}
}
正如你所看到的,我需要從ArrayList
音樂網址去德MediaPlayer
您可以用'intent.putStringArrayListExtra()'通'的ArrayList()''的String' –
您也可以使用intent.putSerializableExtra()來傳遞的ArrayList或者任何自定義類實現Serializable – Nanoc