【发布时间】:2012-07-12 22:34:32
【问题描述】:
我正在开发一个应用程序,旨在获取有关用户位置和当前天气的信息。信息以这种方式收集: StartGathering --> 获取纬度/经度 --> 从坐标中获取位置数据(城市、地址等) --> 获取天气信息 --> 将信息保存在 SQL 数据库中。 一切都是通过使用 bundle 在包含数据的不同活动之间发送一个字符串数组来完成的。 为了准确起见,该过程每 X 分钟重复一次,但由于我处理过活动,因此更新过程会干扰设备上的其他应用程序。我为进程中的每个活动添加了 android:theme="@android:style/Theme.NoDisplay",认为这与在后台执行此操作相同。 我希望在后台收集信息并将其保存在数据库中,据我所知,如果不使用服务,这是不可能的。
有没有一种方法可以轻松地将一堆不同的活动转换为服务,从而允许应用在后台收集必要的信息,以便用户可以使用设备而不会造成任何性能损失? 或者活动是否可以在不干扰其他应用程序的情况下在后台做一些工作?
【问题讨论】:
-
我不知道字面上是怎么做的。但我想尝试启动一个异步任务并在完成主要意图后进行循环。我不知道它是否有效,但我只是试一试:)
标签: android eclipse service android-activity