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

问题描述 投票:0回答:2

当应用程序关闭时,我正在尝试播放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));
        }
    });
}
android service
2个回答
0
投票

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

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

将此清单属性用于Player应用程序中的每个活动组件

机器人:excludeFromRecents


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.