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

How to run android service permanently like system service?

我想在应用程序安装后 运行 我的 Android 服务(实时通知服务)并强制它在应用程序关闭时工作。该服务负责监听我的实时通知服务器,当收到通知时,我会创建 Android 通知,如果它已关闭,则可能会创建 运行 我的应用程序。我认为我的方法不适合这种情况,还有另一种处理实时通知的方法。如果您能给出一些 link 或一个小的解释,我将不胜感激。

监听我的实时通知服务器的更好方法是使用 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 或其他云消息服务,而不是自己编写。

在您的 class 中扩展 Android 服务 class,您希望 运行 在后台 always.Override 使用以下方法和 return START_STICKY 这使得您的服务始终 运行 在后台运行,直到您停止它。

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

如果您需要执行任何长 运行ning 任务而不是为其创建一个单独的线程并在服务中使用它,因为服务 运行s 在主线程上。