2014-03-14 3 views
0

내 서비스 클래스가 백그라운드에서 실행되고 있지 않습니다. 샘플 자습서를 따라했는데 문제가 무엇이며 왜 실행되지 않는 것입니까?내 응용 프로그램에서 안드로이드 서비스가 실행되고 있지 않습니다.

public class Services extends Service { 

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

     Log.d("OnBind", "OnBind"); 
     return null; 
    } 

    @Override 
    public void onCreate() { 
     // TODO Auto-generated method stub 

     Log.d("OnCreate", "OnCreate"); 

     super.onCreate(); 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     // TODO Auto-generated method stub 

     Log.d("OnStart", "OnStart"); 

     return super.onStartCommand(intent, flags, startId); 
    } 

    @Override 
    public void onDestroy() { 
     // TODO Auto-generated method stub 
     super.onDestroy(); 
    } 

} 

내 Menifest

에게 친절하게 내 코딩을 그것을 보는 서비스를

startService(new Intent(getApplicationContext(), Services.class)); 

를 호출하고 응용 프로그램을 실행하는 데 도움이하는

<service 
      android:name=".Services" 
      android:enabled="true" > 
     </service> 

MyActivity를 내 서비스 클래스 올바르게,

미리 감사드립니다.

+0

com.example.Services와 같은 서비스 클래스의 전체 이름을 제공하여 확인하십시오. –

+0

와우 그 일, 고마워. 하지만 내가해야 할 일을 지속적으로 전화 서비스에 대한 의심이 한 번 더 있습니까? – Madhu

+0

u는 서비스를 지속적으로 실행한다는 의미입니까? – ik024

답변

2

매니페스트 파일에 .Services이 아닌 com.example.Services과 같은 서비스 클래스의 전체 이름을 입력하여 확인하십시오.

는 continiously 서비스를 실행하는 경우, 다음을 수행하십시오

public class YourServiceName extends Service { 

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

@Override 
public void onStart(Intent i, int startId) { 

    this.test.run(); 
    this.stopSelf(); 
} 

public Runnable test= new Runnable() { 

    public void run() { 
       // Do something 
    } 
}; 

}

를 시작하는 알람 관리기 :

Intent testService = new Intent(this, YourServiceName .class); 
PendingIntent pitestService = PendingIntent.getService(this, 0,testService,PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
alarmManager.cancel(pitestService); 
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000, pitestService); 

희망이 도움이됩니다.

+0

어디에서 알람 매니저를 사용해야합니까? 내 mainActivity에서? – Madhu

+0

귀하의 주류 활동에있어 –

+0

감사합니다. – Madhu

관련 문제