Service ausführen, auch wenn der Antrag geschlossen ist (getötet)

Ich möchte, dass dieser Service läuft, auch wenn die Anwendung geschlossen (kiiled) oder auch wenn der Benutzer nicht die App starten. Ich möchte den Service starten, nachdem die Anwendung installiert ist und von diesem Zeitpunkt an sollte der Service immer laufen.

public class notifications extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { } @Override public void onStart(Intent intent, int startId) { final Handler handler = new Handler(); final Runnable runb = new Runnable() { public void run() { Toast.makeText(getApplicationContext(), " Service Started", Toast.LENGTH_LONG).show(); handler.postDelayed(this, 10000); } }; handler.postDelayed(runb, 0); } @Override public void onDestroy() { } }*/ public class notifications extends IntentService { private Timer mBackGroundTimer; public notifications() { super("myservice"); this.mBackGroundTimer=new Timer(); } @Override protected void onHandleIntent(Intent intent) { // TODO Auto-generated method stub mBackGroundTimer.schedule(new TimerTask() { public void run() { try { Notification("This is message from Dipak Keshariya (Android Application Developer)", "This is Android Notification Message"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } },1000, 2000); } // END onHandleIntent() private void mStopTimer() { //Call this whenever you need to stop the service mBackGroundTimer.cancel(); } private void Notification(String notificationTitle, String notificationMessage) { NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); android.app.Notification notification = new android.app.Notification(R.drawable.ic_launcher, "A New Message from Dipak Keshariya (Android Developer)!", System.currentTimeMillis()); Intent notificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(getApplicationContext(), notificationTitle, notificationMessage, pendingIntent); notificationManager.notify(10001, notification); } } 

Wie kann ich das machen

  • Du hast eine APK hochgeladen, die kein Reißverschluss ist
  • FusedLocationApi.getLastLocation immer null
  • Wie schiebe ich mit finger touch in android?
  • Implementieren der Google Play Application Silent Installationsfunktion auf Android
  • Farbe der ausgewählten Listenansicht ändern
  • Android Studio - Unzulässiges Zeichen 8204 Fehler
  • So vermeiden Sie * / * Mime-Typen in Absichtsfilter
  • Lange Presse-Definition bei XML-Layout, wie Android: onClick tut
  • Kann ein Android-Gerät als iBeacon fungieren?
  • Wie kann ich neue Aktivität als ausgegebener Kreis aus dem Zentrum beginnen
  • Android: Wie mache ich eine AutoCompleteTextView SingleLine?
  • Wie kann ich den Abstand zu Tab-Widget in Android entfernen?
  • 4 Solutions collect form web for “Service ausführen, auch wenn der Antrag geschlossen ist (getötet)”

    Betrachtet man deinen Code, so scheint es, dass du deinen Service regelmäßig benachrichtigen möchtest.

    Soweit es läuft kontinuierlich geht, denken Sie daran, dass durch das Design, das Android-System kann Ihren Service-Prozess jederzeit beenden. Sie können dies ein bisschen beeinflussen, aber Sie können nicht verhindern, dass das System Ihren Dienst tötet.

    Also für Ihre regelmäßigen Aktionen, wäre es am besten, AlarmManager mit einem wiederkehrenden Alarm zu verwenden. Ihr Service wäre dann grundsätzlich einmalig, dh die Aktion einmal durchführen und dann beenden.

    Für einige Code, schau hier zum Beispiel:

    Android: Alarm Manager

    Sie müssen die OnStartCommand-Methode der Service-Klasse implementieren und in ihr die Service.START_STICKY zurückgeben. Das macht den Trick. Wenn Sie die Anwendung töten, wird der Dienst weiterhin im Hintergrund laufen. Allerdings, wenn Sie Ihr Telefon neu starten, ich glaube, Sie müssen etwas anderes in Ihrer App implementieren, als auch, ein Boot-Service oder so ähnlich.

    Wie Sie Anforderung ist, den Service im Hintergrund laufen zu lassen. Sie sind auf dem richtigen Weg, um den Service zu nutzen, da dies nur für den Hintergrund dient.

    Von der Aktivität kannst du den Service starten

     startService(new Intent(activityName.this, serviceName.class)); 

    Oder wenn Ihre Bewerbung keine Aktivität hat, dann können Sie den Service als Standard und Haupt-Launcher der Anwendung durch Putting

     <service android:name="name of the service" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </service> 

    Ich denke Antwort auf diese Frage ist das: https://developer.android.com/training/sync-adapters/creating-sync-adapter.html

    Sync-Adapter in Google I / O 2013 eingeführt.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.