Android 永远在后台运行的基于位置的服务
我的应用程序:我正在开发基于位置的服务,用于跟踪销售人员。场景是xyz想要跟踪其销售人员的人,他将设置获取位置更新的时间和距离间隔,然后他将手机移交给销售人员,应用程序应持续运行并跟踪GPS 问题:我几乎完成了这个项目,但我想永远运行这个应用程序来跟踪,我是通过GPS这样做的,当我在设置时间和距离后最小化应用程序时,我的应用程序将由android操作系统关闭,但当它将在前台时,它会完美地工作Android 永远在后台运行的基于位置的服务,android,gps,Android,Gps,我的应用程序:我正在开发基于位置的服务,用于跟踪销售人员。场景是xyz想要跟踪其销售人员的人,他将设置获取位置更新的时间和距离间隔,然后他将手机移交给销售人员,应用程序应持续运行并跟踪GPS 问题:我几乎完成了这个项目,但我想永远运行这个应用程序来跟踪,我是通过GPS这样做的,当我在设置时间和距离后最小化应用程序时,我的应用程序将由android操作系统关闭,但当它将在前台时,它会完美地工作 请告诉我可能的解决方案 首先,您希望在活动中而不是在活动本身中进行跟踪,这样即使用户没有与应用程序交互,
请告诉我可能的解决方案 首先,您希望在活动中而不是在活动本身中进行跟踪,这样即使用户没有与应用程序交互,应用程序也会进行跟踪 然后就是你要找的。您可以安排在特定时间调用意图。因此,您可以检查您的服务是否仍在运行,如果没有,请重新启动它以再次开始跟踪 使用此应用程序查看
Intent i = new Intent(UPDATE_ACTION);
PendingIntent alarmManagerPendingIntent = PendingIntent.getBroadcast(this, 0, i, 0);
mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(), //Start now
10*60*1000, //every 10 minutes
alarmManagerPendingIntent);
除了常规应用程序之外,您还需要使用其他服务。即使应用程序关闭,服务也可以运行。您不能“永远”运行服务,而且您可以随时手动停止服务。要使服务生存更长时间,它必须是前台服务-此处的更多: 最简单的方法是
@Override
public void onDestroy() {
Intent serviceIntent = new Intent(getApplicationContext(), UpdateLocationService.class);
getApplicationContext().startService(serviceIntent);
}
看看我这里的代码。我已经使用了这个服务,但我还没有找到使用AlamManager的确切位置。。我刚刚尝试在onDestroy中打印消息,但当Android操作系统停止应用程序时,此方法无法运行。我看不到您的服务。这只是一项活动。但你希望所有的更新工作都在你的服务中。因此,即使活动已关闭,您也可以运行它。startForeground()未在按钮上运行,请单击我们应该在何处使用它??