我的服务似乎没有开始。

时间:2012-08-06 07:20:55

标签: android

我有一项服务:

public class FileObserverService extends Service {

private FileObserverForNewFirFiles fObs;

@Override
public void onCreate() {
    Log.i("FILE_OBSERVER_SERVICE: ", "INSIDE ONCREATE()"); 
    File f = new File("/mnt/sdcard/Bluetooth"); 
    createFileObserver(f);

}


public void createFileObserver(File f) {

    if(!f.isDirectory()) {
        Log.i("FILEOBSERVER: ", "FILE NOT A DIRECTORY!"); 
    }
    else {
        fObs = new FileObserverForNewFirFiles(f.getAbsolutePath()); 
    }
}

@Override
public void onStart(Intent i, int startid) {
    fObs.startWatching();
    Toast.makeText(this.getApplicationContext(), "start monitoring file modification", Toast.LENGTH_SHORT).show();
}


@Override 
public void onDestroy() {
    fObs.stopWatching();
    Toast.makeText(this.getApplicationContext(), "stop monitoring file modification", Toast.LENGTH_SHORT).show();
}


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

在我的主要活动中,我用这种方式称呼这个课程:

startService(new Intent(ThisClass.this, FileObserverService.class));

我认为onCreate方法会向LogCat打印一些内容,指的是此方法的第一行。但它似乎没有这样做。任何打击?

1 个答案:

答案 0 :(得分:0)

我认为你真正想要的是一个IntentService

http://developer.android.com/reference/android/app/IntentService.html

只需替换onCreate的方法签名

使用onStartCommand

基本上,你没有做任何你需要做的事情来获得常规的旧服务,而IntentService将完成所有工作而不需要你自己的努力。