如何停止自定义android服务?
Posted
技术标签:
【中文标题】如何停止自定义android服务?【英文标题】:How to stop custom android service? 【发布时间】:2014-07-22 03:35:38 【问题描述】:我有一个服务:
[Service]
public class LocationService : Service, ILocationListener
....
public override StartCommandResult OnStartCommand(...)
return StartCommandResult.Sticky;
在一种环境中开始
new Task(() =>
Application.Context.StartService(new Intent(Application.Context, typeof(LocationService)));
).Start();
如何从其他地方停止此服务?
我尝试过这样做:
Application.Context.StopService(new Intent(Application.Context, typeof(LocationService)));
但它并不总是有效
【问题讨论】:
在什么情况下它似乎不起作用? 随机大小写。它的背景 gps 服务。有时会停止,有时不会 【参考方案1】:这些可能的重复可能会解决您的问题:
android LocationListener not stopping GPS use
android how to stop gps
听起来最重要的是确保没有任何东西仍在请求位置更新。
【讨论】:
【参考方案2】:答案就在这里:
Stop Location Listener in Android
在我的例子中,它的调用方法 StopLocationUpdates
[Service]
public class LocationService : Service, ILocationListener
....
public override StartCommandResult OnStartCommand(...)
return StartCommandResult.Sticky;
public void StopLocationUpdates()
LocManager.RemoveUpdates(this);
LocManager= null;
【讨论】:
以上是关于如何停止自定义android服务?的主要内容,如果未能解决你的问题,请参考以下文章
自定义 SSL 处理在 Android 2.2 FroYo 上停止工作
Android自定义ArrayAdapter:滚动时“不幸的是,应用程序已停止”