Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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,我想在两个活动之间以一定的时间间隔传递一个参数。传递的参数是一个int,表示设备可以看到的卫星数量,用于在第二个活动中绘制图表。您可以使用一个将int存储在两个活动都可以访问的变量中 否则,请尝试在一个或两个活动中实现一个接收器。这有点难以实现,但对于接收器,只要值发生变化,您就可以立即采取行动 如果在时间间隔内执行此操作非常重要,请使用共享首选项;-) 您还可以在两个活动之间传递捆绑包。该意图可用于存储 PutIntent中的参数值 此处的更多信息:在这两种活动中保持GpsStatus侦听器都

我想在两个活动之间以一定的时间间隔传递一个参数。传递的参数是一个int,表示设备可以看到的卫星数量,用于在第二个活动中绘制图表。

您可以使用一个将int存储在两个活动都可以访问的变量中

否则,请尝试在一个或两个活动中实现一个接收器。这有点难以实现,但对于接收器,只要值发生变化,您就可以立即采取行动


如果在时间间隔内执行此操作非常重要,请使用共享首选项;-)

您还可以在两个活动之间传递捆绑包。该意图可用于存储
PutIntent
中的参数值


此处的更多信息:

在这两种活动中保持GpsStatus侦听器都没有坏处,只要您在不需要时正确停止GPS。:)


但无论如何,如果我是你,我会让应用程序类保留这些细节。我将使用一个服务来监听GpsStatus和绑定到此服务的应用程序类。您的应用程序类现在是网关。您的活动现在可以顺利地和应用程序数据通信,而不是笨拙的意图


这一模式取自

,很可能您正试图以一种奇怪的方式做某事,因为您尚未完全了解Android中的活动是如何工作的

整个应用程序中只有一个活动。只有当用户通过单击按钮并切换到新活动或通过单击上一步并返回到上一个活动来更改活动时,才需要将数据从一个活动发送到另一个活动。请仔细阅读本手册,了解如何使用活动

我假设您已在一个活动中注册了一个位置侦听器,并尝试在其他活动中使用此侦听器的值。通常,您会使用该方法在第一个活动中停用侦听器,然后在新活动中激活一个新的侦听器。这将为您提供每项活动中已知的卫星数量。如果用户返回,您必须在方法中重新注册侦听器,以便为新活动重新启用gps更新


在暂停的活动中保持活动的GPS侦听器将导致活动的GPS传感器,即使您的应用程序处于后台且不再使用。这会很快耗尽手机的电池电量,很可能会在某个实例中卸载你的应用程序。

使用这种方法时要小心。如果GPS侦听器处于活动状态,而没有任何活动处于活动状态,则会浪费电池寿命,用户会通过状态栏中的GPS图标注意到这一点。如果应用程序已停止运行,则我们有代码在位置框架中删除停止运行的侦听器。GPS图标仅在请求定位时出现。无法从GpsStatus类完成此请求-它只是一个观察者。(GPS守护进程在启用GPS时运行。实际的电池消耗发生在它开始搜索卫星时。它们是两种不同的状态)