java - studio - programacion android pdf 2018




¿Por qué mi servicio no funciona en Android?(Solo quiero registrar algo cada 5 segundos) (4)

Creé una nueva clase llamada HelloService. Agregué esto al manifiesto.xml de Android.

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;
    }
}

Mi otra actividad lo llama así:

    Intent helloservice = new Intent(this, HelloService.class);
    startService(helloservice);

Por alguna razón, puse un punto de interrupción en mi nuevo HelloService ... pero ni siquiera está golpeando. Tampoco se está registrando.

Edición: "No se puede iniciar el intento de servicio {cmp = com.examples.hello / .HelloService}: no se encontró"

Qué significa eso? ... creé HelloService.java en el mismo lugar que todo lo demás ...

Resuelto He arreglado mi archivo de manifiesto. Gracias Nikola Smiljanic

<service android:name=".HelloService"/>

a:

   <service android:name="HelloService"></service>

¿Intentarás esto?

helloservice.setComponent(new ComponentName
                 (*hello service package name goes here*, 
                                *hello service canonical name goes here*));
startService(helloservice);

Declare el servicio en el archivo mainfest.xml de su proyecto.

<services  android:name=".SMSReceiver" android:enabled="true">
          <intent-filter>
                  <action android:name=/>
         </intent-filter>
 </services>






timer