如何在 Android 中停止位置更新

发布于 2024-11-03 12:15:08 字数 392 浏览 1 评论 0原文

在我的应用程序中,我使用 GPS 来获取坐标。我有一个更新位置的按钮。当我使用 GPS 更新位置时,我会创建一个进度条。如果我停止进度条,我

mlocManager.removeUpdates(mlocListener); 

在进度条的 onCancelListener 中使用...当我取消它时,也会运行一些后台服务,因为

mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

为了停止它,我将代码放入线程中。由于许多函数(如 stop、destroy)已被弃用,如何停止线程

In my application I use GPS to obtain coordinates. I have a button that updates the location. When I update the location using GPS then I create a progressbar. If I stop the progress bar I use

mlocManager.removeUpdates(mlocListener); 

in onCancelListener of the progressbar... When I cancel it then also some background service runs due to

mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

In order to stop it I put my code in a thread. How can I stop the thread since many of the functions (like stop,destroy) are deprecated?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感情旳空白 2024-11-10 12:15:08

线程现在基本上以这种方式停止:

  1. 您有一些可以同步访问它的变量。当您需要停止线程时,您可以将此变量设置为某个值,表明线程应该停止。

  2. 线程在执行时读取变量,如果它看到变量发生变化,则停止,只需从 run() 方法返回。

UPD:通过Thread类的interrupt()interrupted()方法实现。

Thread is basically stops now in that way:

  1. You have some variable with synchronize access to it. When you need to stop the thread you set this variable to some value, indicating thread should be stopped.

  2. Thread reads the variable while performing it's execution, and if it sees that variable changes, stops simply returns from run() method.

UPD: It is implemented with methods interrupt() and interrupted() of Thread class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文