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
- Vista web de Android dentro de un servicio?
- Servicio en android?
- Uso de GoogleApiClient en un servicio
- Observable vs. Servicio en Android
- Android: mantener vivo un servicio de fondo (prevenir la muerte del proceso)
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….
- Delphi xe10 gps del servicio del androide
- ¿Debería un MediaPlayer ejecutarse en hilos separados?
- Definición de la política de SELinux para el servicio del sistema Android: cómo configurar?
- Cómo leer los datos del acelerómetro en Service with Android
- Ciclo de vida de BroadcastReceiver
- Inicio del cuadro de diálogo del servicio
- Escuchar el botón de volumen cuando el teléfono está bloqueado android
- Llamar el método de clase de actividad de la clase de servicio
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"/>
- Actividad vacía de Android y actividad en blanco
- Android: recortar una imagen después de tomarla con cámara con una relación de aspecto fija