Android BroadcastReceiver, servicio de ejecución automática después del reinicio del dispositivo

Hola estoy escribiendo una aplicación, que es cuando el teléfono se reinicia, el servicio se iniciará automáticamente en lugar de hacer clic en la aplicación.

Aquí está mi código para

BootCompleteReceiver.java

package com.example.newbootservice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootCompleteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent service = new Intent(context, MsgPushService.class); context.startService(service); } } 

MsgPushService.java

 package com.example.newbootservice; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.widget.Toast; public class MsgPushService extends Service { @Override public void onCreate() { super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show(); return Service.START_STICKY; } @Override public void onDestroy() { super.onDestroy(); Toast.makeText(this, "Service Destroy", Toast.LENGTH_LONG).show(); } @Override public IBinder onBind(Intent arg0) { return null; } } 

MainActivity.java (no estoy seguro si necesito esto)

 package com.example.newbootservice; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); startService(new Intent(getBaseContext(), MsgPushService.class)); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } 

Manifiesto

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.newbootservice" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <service android:name=".MsgPushService"/> <receiver android:name=".BootCompleteReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

Cualquiera podría ayudarme, quiero que el servicio se inicie automáticamente después de reiniciar en lugar de iniciar manualmente. Gracias….

Primero haz esto

1) En su elemento <manifest> :

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

EDIT:

Solución sencilla y inteligente:

-> Servicio de inicio automático en el dispositivo de arranque

Has olvidado los permisos

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

También intente estos permisos, puede ayudarle a .ifyou está utilizando los teléfonos del htc entonces estos permisos son requeridos

 <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.DEFAULT" /> <action android:name="android.intent.action.QUICKBOOT_POWERON"/> 
  • Utilizar una intención para enviar datos a mi actividad
  • Android Service preguntas sobre bind / unbind?
  • BroadcastReceiver vs Servicio
  • Cómo poner un oyente onclick dentro de un servicio
  • Android - ¿Utilizando el método de un servicio en una actividad?
  • El servicio onCreate de Android se llama varias veces sin llamar a onDestroy
  • ¿Cómo extender 2 clases?
  • Cómo crear una actividad y un servicio de Android que utilicen procesos independientes
  • ¿Ya está funcionando el servicio Android?
  • Ninguna llamada a onStartCommand () sigue al reinicio de un servicio bloqueado en Android 2.3
  • Async tarea no funciona correctamente (doInBackground no se ejecuta) cuando el servicio se ejecuta en segundo plano, Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.