当应用程序被刷掉时服务停止
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当应用程序被刷掉时服务停止相关的知识,希望对你有一定的参考价值。
当应用程序关闭时,我正在尝试播放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));
}
});
}
答案
注意:其他方式可能无法使用(如果不可用则忽略)。
不要让用户从最近的菜单中清除它。
将此清单属性用于Player应用程序中的每个活动组件
机器人:excludeFromRecents
另一答案
只需在服务类的onstartcommand方法中返回START_STICKY即可。它会在后台永远运行。
以上是关于当应用程序被刷掉时服务停止的主要内容,如果未能解决你的问题,请参考以下文章