2011-08-11 4 views
1

I 있습니다 <service android:name=".kernel.background.Process"></service> 기본 패키지는 다음과 같습니다 지금은 몇 가지 예를 발견하기위한 package="call.com"안드로이드 : 내 서비스를 시작하지 않는

내가, 내 데이터베이스 동기화 방법을 strart하는 과정 느릅 나무를 만들려하지만,

package call.com.kernel.background; 

import java.util.Timer; 
import java.util.TimerTask; 

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

public class Process extends Service { 

private final Timer timer = new Timer(); 

@Override 
public void onCreate() { 

    super.onCreate(); 

    startservice(); 

} 

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

private void startservice() { 

    timer.scheduleAtFixedRate(new TimerTask() { 

     @Override 
     public void run() { 

      System.out.println("time:"); 
      System.out.println("is:"); 
      System.out.println("up:"); 

     } 

    }, 0, 1000); 

    ; 
} 

private void stopservice() { 

    if(timer != null) { 
     timer.cancel(); 
    } 

} 

} 
+0

어떤 오류가 발생하고 있습니까? Logcat의 출력을 게시하십시오. –

+0

나는 오류가 발생하지 않는다. 나는 단지 중단 점을 넣는다. 나는 결코이 서비스에 가지 않는다는 것을 알았다. // onCreate와 타이머 내부에 포인트가 있습니다. System.out.print와 같은 것이 보이지 않습니다. – Nayden

+1

어떻게이 서비스를 호출합니까? 응용 프로그램의 루트에서 인 텐트를 사용하거나 시작 하시겠습니까? –

답변

0

당신이 시작하고 무엇을 생각하지 않는이 Service입니다 ..

이 내 백그라운드 프로세스입니다. 당신은 타이머를 시작하고 있습니다. 별도의 Thread을 사용하여 업데이트 작업을 수행 할 수 있습니다. 다음은 Painless Threading이라는 좋은 기사에 대한 링크입니다. 각각에 대해 자세히 알아 보려면 참조 된 링크를 참조하십시오.

1

startService(...) 어디에서 전화하십니까? 코드 어딘가에 Activity이 있으면 서비스를 시작해야합니다. Android Service Docs을 아직 읽었습니까? 그들은 서비스를 제대로 만들고 시작하는 방법에 대해 많은 통찰력을 제공합니다. 당신의 중단이 TimerTaskrun() 방법이며이 명중되지 않으면

, 그것은 확실히 서비스가 불려 가지 않은 같은 소리 : 당신의 Activity에서 그래서

:

Intent i = new Intent(this, Process.class); 
startService(i); 
관련 문제