Java 单击“主页”按钮时停止服务?
我有一个服务,它在页面加载时播放音乐,并按照它应该的方式继续到所有其他页面。当应用程序被销毁时,它仍在播放,所以我使用了onDestroy方法和onResume方法Java 单击“主页”按钮时停止服务?,java,android,Java,Android,我有一个服务,它在页面加载时播放音乐,并按照它应该的方式继续到所有其他页面。当应用程序被销毁时,它仍在播放,所以我使用了onDestroy方法和onResume方法 @Override public void onDestroy(){ super.onDestroy(); Intent ServiceMusic = new Intent(this, BackgroundMusic.class); stopService(ServiceMusic); } @Overrid
@Override
public void onDestroy(){
super.onDestroy();
Intent ServiceMusic = new Intent(this, BackgroundMusic.class);
stopService(ServiceMusic);
}
@Override
public void onResume(){
super.onResume();
Intent ServiceMusic = new Intent(this, BackgroundMusic.class);
startService(ServiceMusic);
}
现在的问题是,当用户点击home按钮时,服务就会继续,所以我实现了onPause,它工作得很好,就在用户转到另一个页面时,音乐就会重新启动
@Override
public void onPause(){
super.onPause();
Intent ServiceMusic = new Intent(this, BackgroundMusic.class);
stopService(ServiceMusic);
}
如何克服这一问题,使音乐在通过应用程序时继续播放,但当单击“主页”按钮时,我会暂停服务?我会删除各个活动中的代码,并在应用程序子类中使用
registerActivityLifecycleCallbacks
机制。这将允许您将代码保存在一个地方,并在启动和停止服务时更加智能
请注意,通过这些回调,您将收到一个活动在另一个活动开始之前已经停止的通知,因此当您决定停止服务时,您将需要某种延迟。您可以使用具有延迟runnable的处理程序来解释此问题