Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android后台服务问题_Android - Fatal编程技术网

Android后台服务问题

Android后台服务问题,android,Android,我已经在android清单中声明了一个后台服务,该服务将从应用程序的主要活动中启动,并在无限循环中运行,以对外部服务器执行位置更新 此后台服务在一个独立于应用程序主要活动的进程中运行(使用服务清单声明中的android:process标记)。我遇到的问题是,当从服务中请求GPS位置更新时,永远不会调用LocationListener的onLocationChanged()方法,即使我使用DDMS/geo命令发送模拟位置。但另一方面,从应用程序的主要活动请求GPS位置更新确实有效,并且在收到修复时

我已经在android清单中声明了一个后台服务,该服务将从应用程序的主要活动中启动,并在无限循环中运行,以对外部服务器执行位置更新

此后台服务在一个独立于应用程序主要活动的进程中运行(使用服务清单声明中的android:process标记)。我遇到的问题是,当从服务中请求GPS位置更新时,永远不会调用LocationListener的onLocationChanged()方法,即使我使用DDMS/geo命令发送模拟位置。但另一方面,从应用程序的主要活动请求GPS位置更新确实有效,并且在收到修复时正确调用onLocationChanged()方法,因此我想知道需要修改什么才能从服务而不是活动中获得相同的行为

提前感谢您的帮助; 哈斯

此服务将从应用程序的主活动中启动,并在无限循环中运行,以对外部服务器执行位置更新

请不要那样做,因为你浪费了记忆。请使用
AlarmManager
定期触发自停止
服务
(如
IntentService
)。而且,由于您似乎正在获取位置,请考虑使用我的服务。

此后台服务在一个独立于应用程序主要活动的进程中运行(使用服务清单声明中的android:process标记)

请不要那样做。你浪费了内存,没有任何价值。这也可能是造成你的问题的原因

因此,我想知道需要修改什么才能从服务而不是活动中获得相同的行为

在服务中获取位置效果很好。请参阅
LocationPoller
,了解正在使用的示例

此服务将从应用程序的主活动中启动,并在无限循环中运行,以对外部服务器执行位置更新

请不要那样做,因为你浪费了记忆。请使用
AlarmManager
定期触发自停止
服务
(如
IntentService
)。而且,由于您似乎正在获取位置,请考虑使用我的服务。

此后台服务在一个独立于应用程序主要活动的进程中运行(使用服务清单声明中的android:process标记)

请不要那样做。你浪费了内存,没有任何价值。这也可能是造成你的问题的原因

因此,我想知道需要修改什么才能从服务而不是活动中获得相同的行为


在服务中获取位置效果很好。请参阅
LocationPoller
,了解正在使用的示例。

向我们展示您如何请求更新。向我们展示您如何请求更新。感谢LocationPoller解决方案。感谢LocationPoller解决方案。