djk*_*djk 4 android android-service
我想打电话
的onDestroy()
android中的服务方法.
我已经在互联网上搜索了很多,很多答案就像是
服务部队停止或以某种方式其onDestroy()永远不会打电话.
但我真的需要知道什么时候停止服务.
我的项目是关于音乐播放器的.
所以它使用服务并且持续通知.我需要找出什么时候服务停止?并需要停止音乐并删除通知.
但它从未显示onDestroy()的任何日志.任何人都可以帮助我什么是它的替代品?如果不是onDestroy()那么哪种方法又如何?
编辑:
我不想明确地调用ondestroy.我想从运行应用程序的设备菜单中删除我的应用程序时删除通知.因为当我停止我的应用程序时,ondestroy不会打电话,我的通知仍保留在状态栏中.
我已经使用此代码启动了我的服务.Intent playin = new Intent(this,MusicService.class); startService(弹唱);
在Service类中,调用:
stopSelf();
从另一个类中,例如您的MainActivity:
Intent i = new Intent(this, ServiceName.class);
stopService(i);
这两个都将停止您的服务.确保您正在返回,START_NOT_STICKY
以便服务不会再次启动.
我想调用android中
onDestroy()
的方法Service
。
公共无效onDestroy()
由系统调用以通知服务不再使用并且正在被删除。此时服务应该清理它持有的所有资源(线程、注册的接收器等)。返回后,将不再有对此 Service 对象的调用,并且它实际上已死亡。不要直接调用此方法。
但是您可以检查该服务是否正在运行。
我需要知道服务何时停止?并需要停止音乐并删除通知。
使用以下方式 -
private boolean isMyServiceRunning(Class<?> serviceClass) {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
然后使用 - 调用它isMyServiceRunning(MyService.class)
。
参考:
归档时间: |
|
查看次数: |
12485 次 |
最近记录: |