I created a new class called HelloService. I added this to the Android manifest.xml.
public class HelloService extends Service {
private Timer timer = new Timer();
private long INTERVAL = 5000;
public void onCreate() {
super.onCreate();
startservice();
}
private void startservice() {
timer.scheduleAtFixedRate( new TimerTask() {
public void run() {
Log.d("servy", "This proves that my service works.");
}
}, 0, INTERVAL);
; }
private void stopservice() {
if (timer != null){
timer.cancel();
}
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
}
My other activity calls it like this:
Intent helloservice = new Intent(this, HelloService.class);
startService(helloservice);
For some reason, I put a breakpoint in my new HelloService...but it's not even hitting. It's not logging either.
Edit: "Unable to start service Intent { cmp = com.examples.hello/.HelloService }: not found"
What does that mean? ... I created HelloService.java in the same place as everything else...
Solved. I fixed my manifest file. Thanks Nikola Smiljanic
<service android:name=".HelloService"/>
to:
<service android:name="HelloService"></service>
Maybe you're not declaring the service in your manifiest. Anyway you're using the wrong class. You have to use AlarmManager for programing events. See that link, it was very useful to me.
Use alarmManager and service to perform schedule notification only during specific time period
A service has a life cycle as any other android application. For this reason it can occur that your service gets killed by the system (see Service documentation). The right way to implement this is using Alarm Manager as discussed in Android service stops.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With