相关疑难解决方法(0)

stopService不会停止我的服务....为什么?

我在我的Android APP上有一个后台服务,它正在获取我的GPS位置并将其发送到远程数据库.它工作得很好.

问题是当我想要停止服务......它不会停止:S.也没有出现logcat上的异常或错误......它根本不会停止.

这是启动我的srvice的代码(带按钮):

startService(new Intent(GPSLoc.this, MyService.class)); //enciendo el service
Run Code Online (Sandbox Code Playgroud)

这是我停止它的代码(在onactivityresult方法上):

stopService(new Intent(GPSLoc.this, MyService.class));
Run Code Online (Sandbox Code Playgroud)

我已经调试了应用程序,并且我检查了每次调试它时都调用了stopService代码行,但它没有停止......

我确信它没有停止导致我的数据库,当我按下按钮停止服务时,我仍然从模拟器中恢复gps位置.

我做得不好?

service android

24
推荐指数
3
解决办法
4万
查看次数

如何确定Android服务是否在前台运行?

我有一个服务,我相信它已经在前台运行,我如何检查我的实现是否正常?

service android foreground

23
推荐指数
4
解决办法
2万
查看次数

从onDestroy()调用的stopForeground(true)不会删除通知

我想在销毁前台服务后删除通知.我试着打电话stopForeground(true)onDestroy()unbind().尽管调用了onUnbind()和onDestroy()(我可以从日志中看到它),但仍然存在通知.我通过电话unbindService(playerConnection)stopService(this)我的活动来停止服务.

为什么不这样做?有关如何在销毁服务时删除通知的任何想法?

更新:在玩通知时我注意到了一件有趣的事情.我在服务中做了一个特殊的方法:

fun hideNotification() {
    stopForeground(true)
    Log.d("PlayerService", "hideNotification")
}
Run Code Online (Sandbox Code Playgroud)

按下按钮时,我从我的活动中调用它.它删除了通知.但是从activity的onStop()或服务的onUnbind()或onDestroy()调用的相同函数却没有.我无法理解这些情况之间的区别.

android

12
推荐指数
1
解决办法
1268
查看次数

标签 统计

android ×3

service ×2

foreground ×1