【问题标题】:Android service stopping when kept the application runnning for some timeAndroid 服务在应用程序运行一段时间后停止
【发布时间】:2012-07-21 18:09:45
【问题描述】:

我正在创建一个必须连续运行的应用程序,直到用户单击停止按钮。该服务所做的是,如果通过使用 GPS 获取当前的经纬度并上传到服务器。但是当我让应用程序长时间运行时,服务会停止上传数据。谁能告诉我如何保持服务持续运行,直到用户按下停止按钮?请给我一个解决这个问题的方法。

谢谢。

【问题讨论】:

    标签: android android-service


    【解决方案1】:

    您有兴趣让您的服务变得 STICKY。

    当 Android 内存不足时,它会停止您的服务,以便它可以继续工作。如果你为你的服务设置了粘性标志,那么一旦有足够的资源可用,服务就会重新创建。

    您使服务具有粘性:

    public class YourService extends Service {
    
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            // We want this service to continue running until it is explicitly
            // stopped, so return sticky.
            return START_STICKY;
        }
    ...
    }
    

    【讨论】:

      【解决方案2】:

      我已经解决了同样的要求,这是我正在使用的解决方案,

      类:AlarmManager & TimerTask

      逻辑,

      1. 创建一个 TimerTask 类,它会定期在服务器上上传您的 GPS 坐标。
      2. 创建一个 AlarmManager 类,以特定的时间间隔(在我的例子中为 30 分钟)停止和启动 GPS 和 TimerTask。

      这就像魅力一样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-30
        • 2021-01-03
        • 1970-01-01
        • 1970-01-01
        • 2015-05-01
        • 1970-01-01
        相关资源
        最近更新 更多