Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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_Push Notification_Geolocation_Android Location - Fatal编程技术网

Android 如何使用推送通知等更改位置间隔

Android 如何使用推送通知等更改位置间隔,android,push-notification,geolocation,android-location,Android,Push Notification,Geolocation,Android Location,我的应用程序能够跟踪用户,即使该应用程序处于后台或已终止,并将当前的lat和long发送到服务器。 我正在使用FusedLocationApi进行此操作,并带有一个悬挂式帐篷。我的问题是,如果我的应用程序未在前台运行,如何更改LocationRequest的间隔 我想做一些事情,比如捕获firebase提供的推送通知,然后更改此间隔,但这是不可能的 如果我将时间间隔(setInterval、SetFastTestInterval和setPriority)设置为最频繁和高精度,并且只在服务器上捕获

我的应用程序能够跟踪用户,即使该应用程序处于后台或已终止,并将当前的lat和long发送到服务器。 我正在使用FusedLocationApi进行此操作,并带有一个悬挂式帐篷。我的问题是,如果我的应用程序未在前台运行,如何更改LocationRequest的间隔

我想做一些事情,比如捕获firebase提供的推送通知,然后更改此间隔,但这是不可能的

如果我将时间间隔(setInterval、SetFastTestInterval和setPriority)设置为最频繁和高精度,并且只在服务器上捕获部分请求,然后当我想要获得更多频率时,捕获所有位置请求,这会消耗太多电池

有没有可能避免让客户端(用户智能手机)像服务器一样等待通知,比如firebase

编辑: 我所尝试的似乎有效,但我仍然有沟通的问题。
我创建了一个服务和两种不同类型的API FusedLocationServices,其中一种目前正在工作,另一种只是等待来自服务器的信号开始发送位置。。。这正是我想知道的,如何以一种好的方式去做。如何持续收听服务器??存在一种类似firebase的onMessageReceived的方法???

好的,我可以像我说的那样处理这个问题,创建2个不同的LocationRequest,一个在第一次打开应用程序时一直运行,并进行必要的配置,另一个在我实现firebase的onMessageReceived的地方创建。
我必须发送一条POST数据消息(我为此使用POSTMAN),以确保调用了onMessageReceived,就这样

好的,我可以像我所说的那样处理这个问题,创建两个不同的LocationRequest,一个在第一次打开应用程序时一直运行,带有必要的配置,另一个在我实现firebase的onMessageReceived的地方创建。
我必须发送一条POST数据消息(我为此使用POSTMAN),以确保调用了onMessageReceived,就这样

你想设置两个不同的时间间隔,以便在应用程序运行或终止时获得位置更新?我想要的是,应用程序以一定的时间间隔和准确性为我提供位置,但在某个时刻,我想更改为最佳位置和更频繁的时间间隔。就像谷歌安卓设备管理器一样,你可以先删除位置更新,然后重新注册,但我使用的是IntentService,我将其作为一个挂起的内容传递给谷歌服务。我理解你的建议,但我如何才能在不打开应用程序的情况下从服务器捕获更改位置设置的请求?你想设置两个不同的时间间隔,以便在应用程序运行或终止时获得位置更新?我想要的是,应用程序以一定的时间间隔和准确性向我提供位置,但在某个时刻,我想换到最好的位置和更频繁的间隔。就像谷歌安卓设备管理器一样,你可以先删除位置更新,然后重新注册,但我使用的是IntentService,我将其作为一个挂起的内容传递给谷歌服务。我理解你的建议,但我如何在不打开应用程序的情况下从服务器捕获更改位置设置的请求?