Perché il mio servizio non funziona in Android? (Voglio solo registrare qualcosa di mai 5 secondi)

Ho creato una nuova class chiamata HelloService. Ho aggiunto questo all'indirizzo Android.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; } } 

La mia altra attività lo chiama così:

  • Android: Come personalizzare lo schermo di chiamata dei redditi
  • Libreria di pacchetti di supporto Android / compatibilità - utilizzare v4 o v13?
  • Come non mostrare l'applicazione nell'elenco delle applicazioni recenti nell'ICS? excludeFromRecents non funziona
  • Differenze di dimensione del file app in Android e iOS
  • Effettuare una richiesta HTTPS utilizzando Android Volley
  • Può qualcuno spiegare questo codice java
  •   Intent helloservice = new Intent(this, HelloService.class); startService(helloservice); 

    Per qualche ragione, ho messo un punto di interruzione nella mia nuova HelloService … ma non è nemless colpire. Non sta registrando.

    Modifica: "Imansible avviare il servizio Intent {cmp = com.examples.hello / .HelloService}: non trovato"

    Cosa significa? … ho creato HelloService.java nello stesso posto come tutto il resto …


    Risolto. Ho fissato il mio file manifesto. Grazie a Nikola Smiljanic

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

    a:

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

  • Avviso di Google Play: la tua applicazione potrebbe perdere le credenziali dello sviluppatore
  • Android - Fornire ANR per scopi di test
  • Android che ottiene frammento che è in FragmentPagerAdapter
  • Dichiarare gli attributi stilabili in Android
  • onClick su ViewPager non triggersto
  • Come annullare il timer e rinnovare lo stesso timer?
  • 5 Solutions collect form web for “Perché il mio servizio non funziona in Android? (Voglio solo registrare qualcosa di mai 5 secondi)”

    Forse non stai dichiarando il servizio nel tuo manifesto. Comunque state utilizzando la class sbagliata. Devi usare AlarmManager per programmare gli events. Vedi quel collegamento, era molto utile a me.

    Utilizzare alarmManager e servizio per eseguire notifiche di pianificazione solo durante un periodo di tempo specifico

    Un servizio ha un ciclo di vita come qualsiasi applicazione Android. Per questo motivo può verificarsi che il servizio venga ucciso dal sistema (vedere la documentazione di servizio ). Il modo giusto per implementarlo è l'utilizzo di Alarm Manager come descritto in arresti del servizio Android .

    Provenetworking questo:

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

    Dichiarare il tuo servizio nel file mainfest.xml del tuo progetto.

     <services android:name=".SMSReceiver" android:enabled="true"> <intent-filter> <action android:name=/> </intent-filter> </services> 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.