Ejecutar servicio incluso si la aplicación está cerrada (matado)

Quiero que este servicio se ejecute incluso si la aplicación está cerrada (kiiled) o incluso si el usuario no iniciar la aplicación. Quiero que el servicio se inicie después de instalar la aplicación y desde este punto, el servicio debe ejecutarse siempre.

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

¿como puedo hacer eso?

En cuanto a su código, parece que desea que su servicio periódicamente dar notificaciones.

En cuanto a que se ejecute de forma continua va, tenga en cuenta que por diseño, el sistema Android puede terminar su proceso de servicio en cualquier momento. Usted puede influir en esto un poco, pero no puede evitar que el sistema de matar a su servicio.

Así que para sus acciones periódicas, sería mejor usar AlarmManager con una alarma recurrente. Su servicio sería entonces básicamente one-shot, es decir, realizar la acción una vez y luego salir.

Para algunos códigos, mire aquí por ejemplo:

Android: Administrador de alarmas

Debe implementar el método OnStartCommand de la clase Service y en él, devolver Service.START_STICKY. Eso hará el truco. Si cancela la aplicación, el servicio continuará ejecutándose en segundo plano. Sin embargo, si reinicias tu teléfono, creo que necesitas implementar algo más en tu aplicación, también, un servicio de arranque o algo así.

Como usted requisito es funcionar el servicio en el fondo. Usted está en el camino correcto para utilizar el servicio, ya que esto se entiende para el fondo que se ejecuta el propósito solamente.

De la actividad usted puede comenzar el servicio por

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

O si su aplicación no está teniendo ninguna actividad entonces usted puede hacer el servicio como defecto y lanzador principal de la aplicación poniendo

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

Creo que la respuesta a esta pregunta es la siguiente: https://developer.android.com/training/sync-adapters/creating-sync-adapter.html

Adaptadores de sincronización introducidos en Google I / O 2013.

  • ¿Cómo actualizar un TextView en una actividad de un servicio en Android?
  • Cómo ensayar un servicio de Android que depende de una conexión de red
  • La llamada de servicio vuelve a la actividad en android
  • Depurar servicio de fondo en android utilizando intelliJ
  • Facturación en aplicaciones de Android y servicio bindService
  • MVC en Android: ¿Aplicación o servicio para actualizaciones asíncronas?
  • Cómo detectar la visibilidad del selector de método de entrada sin el permiso de accesibilidad
  • cómo abrir la configuración de accesibilidad de mi aplicación directamente?
  • Google Cloud Messaging - GCM - SERVICE_NOT_AVAILABLE
  • Inicio del servicio de fondo cuando se enciende Android
  • Descubrimiento del servicio de red error de tutorial android: Servicio perdido, el teléfono se desactiva
  • Interesting Posts
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.