Android Google Play服务续航时间

时间:2013-08-02 06:44:21

标签: android service android-lifecycle google-play-services

我刚刚实施了一个使用新版Google 2013 I / O Api(Google Play服务)进行位置更新的应用程序:http://developer.android.com/training/location/receive-location-updates.html

我的应用程序工作(在后台也是如此)但问题是,如果我的设备内存不足,或者我只是手动清理内存,该服务就会停止工作。没有位置更新操作系统将终止服务,并且如果内存可用,则不会重新启动它。

在我发现的Android服务文档中:

  

Android系统将仅在内存不足时强制停止服务,并且必须为具有用户焦点的活动恢复系统资源。如果服务绑定到具有用户焦点的活动,则它不太可能被杀死,并且如果声明服务在前台运行(稍后讨论),那么它几乎永远不会被杀死。

如何强制Google Play服务加入前台服务? (像Messanger等)

谢谢!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我不得不将服务带到前台和Alhamdullilah以下为我工作。
如果您的服务未绑定,请在onStartCommand()方法中添加以下内容。

            .......
       Notification.Builder builder = new Builder(this);
        builder.setSmallIcon(R.drawable.ic_launcher);
        builder.setContentTitle("content title");
        builder.setTicker("ticker");
        builder.setContentText("content text").setWhen(System.currentTimeMillis());
        Notification notification = builder.build();
        notification.flags |= Notification.FLAG_NO_CLEAR;
        startForeground(42, notification);


    return START_STICKY;