2010-01-16 96 views
2

我需要在我的应用程序中始终运行gps,但我不知道是否更好地将它像活动内部的线程一样抛出,或者如果我应该创建服务,然后在服务中,抛出线程线程或服务

任何人都可以帮助我?谢谢!!

Pd积:对不起,我的应用程序是如何工作的,因为我想我的应用程序去的背景和它的作品我的英语


我的回答doesn't谎言。 我将尝试解释我的应用程序的组成部分:它有一个活动,用gps启动一项服务,gps的位置与它在文件中的其他位置进行比较。当条件成立时,它启动运行多媒体播放器的另一项服务。

因此,如果我正在看另一个应用程序,或者我的口袋里有设备,我希望我的应用程序可以继续运行。

回答

0

你能解释一些吗?因为我们需要知道你的应用程序要做什么。当您的应用始终可见时,您不需要线程或服务,您应该实现一个侦听器并将其注册到LocationManager。

当你的应用程序应该去后台,那么你应该实现一个服务。你需要考虑

0

两件事情:

  1. 如果只需要为您的应用GPS信息,然后有一个线程哪些池GPS信息每秒或间隔由您定。通过这种方式,您的应用程序可以从GPS获取信息,而且您不必通过提供服务来使事情复杂化。请记住,通过在应用程序中创建一个线程,您需要启动应用程序,以便获取GPS信息。
  2. 现在让我们说你也想要其他应用程序的GPS信息。然后使用服务是一个好主意。这样其他应用程序也可以获取GPS信息并在其应用程序中使用。当然,这不会神奇地发生,所有应用程序都可以通过运行服务来获取GPS信息。您必须编写代码并提供接口,以便所有其他应用程序以及您的应用程序都知道如何与服务交互。

现在在应用程序中使用线程更快,更整洁,如果它符合您的要求。但是,就像我提到的,您的应用程序需要在使用GPS信息之前开始。

有了服务,您甚至可以在启动时运行服务。所以你不需要启动你的应用程序来启动GPS。但是,除非需要在应用程序中使用线程。

1

我想你的答案将在于你的应用程序如何工作。如果即使在通过按下主页按钮或返回按钮将应用程序推送到后台后仍希望接收GPS数据,则应该将其放入服务中,因为服务的生命周期与活动的生命周期不同。

如果GPS数据在应用程序中只要求你并不需要它的人在应用程序关闭,然后线程作为Kavitesh提到一个更好的选择,线程是一个更快和更简单的方法