2012-08-06 132 views
0

我试图启动BackgroundService但我没有运行它。这里的服务代码:BackgroundService不会启动

import android.app.Service; 
import android.content.Intent; 
import android.os.Handler; 
import android.os.IBinder; 

public class BackgroundData extends Service { 

    private final Handler handler = new Handler(); 
    Intent intent; 
    int time; 

    @Override 
    public void onCreate() { 
     // Called on service created 

     time = 1000; 
    } 

    @Override 
    public void onStart(Intent intent, int startid) { 

     handler.removeCallbacks(sendUpdatesToUI); 
     handler.postDelayed(sendUpdatesToUI, time); // 1 sec 
    } 

    private Runnable sendUpdatesToUI = new Runnable() { 
      public void run() { 

       System.out.println("OMEGAN..."); 

       handler.postDelayed(this, time); // 1 sec 
      } 
     }; 

    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 
} 

这里就是我如何调用该服务启动:

startService(new Intent(this, BackgroundData.class)); 

这是什么问题?此代码是从这里:http://android-codes-examples.blogspot.com.es/2011/11/running-service-in-background-on.html

我已经改变它使用它,因为我想和它的工作原理,但是当我将它实现到我的代码,它不起作用。

有什么想法?

预先感谢您!

+2

当您启动该服务,你得到的logcat的任何错误?你确定知道你的服务没有运行吗?尝试将一条日志语句作为onCreate()中的第一行进行验证。你还在哪里从一个Activity调用startService()?广播接收器?如果是后者,可能服务很好,但接收器没有正确接收。 – FoamyGuy 2012-08-06 13:43:12

+0

Hi @Tim。我没有在logcat中发现任何错误,并且我几乎可以确定该服务不会启动,因为我尝试了您告诉我的和System.out.println(“SOMETHING”);'不出现在日志中......并且我从Activity中调用startService。 – 2012-08-06 13:47:20

+0

您是否在清单文件中声明了该服务? – 2012-08-06 13:53:21

回答

0

好吧,我发现我的问题。我宣布.BackgroundData,但这个文件被放在其他包。

我解决了改变.BackgroundDatamy.own.package.BackgroundData