gpt4 book ai didi

android - 如何在用户滑动应用程序后继续在后台播放音乐?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:32 27 4
gpt4 key购买 nike

在 Android 中,我使用 ServiceMediaPlayer 来播放音乐。当我按下主页按钮时,音乐会继续播放,但如果我“滑开”应用程序,音乐就会停止。

How could I continue music playing after swiping away the app?

最佳答案

您需要使用 Service.START_STICKY :

public int onStartCommand(Intent intent, int flags, int startId) {
mediaPlayer.start();
return Service.START_STICKY;
}

Service.START_STICKY : if this service's process is killed while it is started the system will try to re-create the service.

这是一个完整的例子: https://github.com/Jorgesys/Android-Music-in-Background

public class BackgroundSoundService extends Service {

private static final String TAG = "BackgroundSoundService";
MediaPlayer player;

public IBinder onBind(Intent arg0) {
Log.i(TAG, "onBind()" );
return null;
}

@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.jorgesys_song);
player.setLooping(true);
player.setVolume(100, 100);
Toast.makeText(this, "Service started...", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onCreate() , service started...");

}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return Service.START_STICKY;
}

public IBinder onUnBind(Intent arg0) {
Log.i(TAG, "onUnBind()");
return null;
}

public void onStop() {
Log.i(TAG, "onStop()");
}
public void onPause() {
Log.i(TAG, "onPause()");
}
@Override
public void onDestroy() {
player.stop();
player.release();
Toast.makeText(this, "Service stopped...", Toast.LENGTH_SHORT).show();
Log.i(TAG, "onCreate() , service stopped...");
}

@Override
public void onLowMemory() {
Log.i(TAG, "onLowMemory()");
}
}

关于android - 如何在用户滑动应用程序后继续在后台播放音乐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com