当应用程序被刷掉时服务停止

时间:2017-12-22 11:25:47

标签: android service

我在应用关闭时尝试播放mp3。当我退出应用程序时它会起作用,但是当我从任务管理器中将其滑出时,歌曲就会结束。如何让服务在关闭后继续播放? 这是我的服务:

@Override
public IBinder onBind(Intent intent) {
    return null;
}
@Override
public void onCreate() {
    super.onCreate();
}
@Override
public void onTaskRemoved(Intent rootIntent) {
    Log.d("MusicService", "onTaskRemoved");
}
@Override
public void onDestroy() {
    super.onDestroy();
}
@Override

public int onStartCommand(Intent intent, int flags, int startId) {
    return super.onStartCommand(intent, flags, startId);
}

这是我的主要活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    start = (Button)findViewById(R.id.start);
    stop = (Button)findViewById(R.id.stop);
    mp = MediaPlayer.create(getApplicationContext(),R.raw.gucci);
    start.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startService(new Intent(MainActivity.this,MyService.class));
            mp.start();

        }
    });
    stop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mp.pause();
            stopService(new Intent(MainActivity.this,MyService.class));
        }
    });
}

2 个答案:

答案 0 :(得分:0)

注意:其他方式可能无法使用(如果不可用则忽略)。

不要让用户选择从最近的菜单中清除它。

将此清单属性用于播放器应用中的每个活动组件

<强>机器人:excludeFromRecents

答案 1 :(得分:-1)

只需在服务类的onstartcommand方法中返回START_STICKY即可。它将永远在后台运行。