Android 轮询登录服务

Android 轮询登录服务,android,Android,嗨,我成功创建了一个服务 public class Securityservice extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { super.onCr

嗨,我成功创建了一个服务

public class Securityservice extends Service {

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Log.d("Service","I Am Security Service Created");
    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
    }
}
我在onCreate()中收到了日志消息

但问题是,在创建服务时,我只收到过一次该消息


我需要一直打印日志,直到我销毁该服务为止

启动一个线程并一次又一次地循环它

new Thread(new Runnable() {
           public void run() {
               while (true) {
                   try {
                       Thread.sleep(10000);
                   } catch (InterruptedException e) {
                       // TODO Auto-generated catch block
                       e.printStackTrace();
                   }
                   // Your code
               }
           }                        
        }).start();

服务是一个后台任务,它一直运行到您停止为止,其中包含它自己的生命周期。 其中as线程也是一个新任务,它运行到您停止或结束代码(包含其自身的生命周期)为止

创建服务时,onCreate方法将只调用一次。。 我想你对循环线程有些混淆

必须启动循环(for或while)才能连续打印该日志

也可以使用这种类型的递归方法

 public void onCreate() {
 super.onCreate();
 doLog() 
 }

void doLog(){
  Log.d("Service","I Am Security Service Created");
doLog();
}

谢谢,现在我的疑问消除了,但是如果我在oncreate()中使用这种类型的递归方法。。当oncreate()函数调用它时,它创建了一个新的服务Yes,您将得到这种类型的错误,因为您正在增加程序的堆大小,因此必须使用代码优化。。