如何像系统服务一样永久运行Android服务?

时间:2015-11-30 04:31:02

标签: android android-service real-time-data

我希望在安装应用程序后运行我的Android服务(实时通知服务)并强制它甚至应用程序关闭。这项服务负责收听我的实时通知服务器,收到通知后我创建了Android通知,如果关闭,可能会运行我的应用程序。我认为我的方式对于这种情况是不正确的,还有另一种处理实时通知的方法。如果您提供一些链接或一些小解释,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

更好的方法来监听我的实时通知服务器,您已经使用GCM了。 here您可以开始阅读有关GCM的内容。如果你想自己实现它,你必须自己编写服务。例如:

    public class ListenerService extends Service{
     @Override
     public void onStartCommand(Intent intent, int flags, int startId){


       return START_STICKY; //this will restart your service even though the system kills
      }

   // you can write other listener service method inside the service
    }

但我仍然建议您使用GCM或其他云消息传递服务,而不是自己编写。

答案 1 :(得分:0)

在您的班级中扩展您要在后台运行的Android Service类。更改以下方法并返回START_STICKY,这使您的服务始终在后台运行,直到您停止它为止。

 @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        //your code here
        return START_STICKY;
    }

如果你需要做任何长时间运行的任务而不是为它创建一个单独的线程并在服务中使用它,因为服务在主线程上运行。