El servicio de Android solo se inicia en modo de depuración
He creado un servicio que gestiona la conexión XMPP. Mi aplicación necesita recibir mensajes XMPP periódicamente. Todo parece funcionar como se esperaba, pero sólo cuando el teléfono está conectado a Android Studio y ejecutar la aplicación en modo de depuración. Cuando desconecto el teléfono, o incluso si está conectado pero empiezo la aplicación desde el teléfono y no desde el AS, el servicio no parece comenzar …
Me aseguré de que mi servicio se declara correctamente en el manifiesto:
- Facturación en aplicaciones de Android y servicio bindService
- ¿Puedo iniciarService desde la aplicación # onCreate ()?
- Iniciar el servicio en el arranque, pero no toda la aplicación de Android
- Servicio de Android que no recibe Actualizaciones de ubicación
- NotificationCompat y setFullScreenIntent ()
<service android:name=".xmpp.MyService" android:enabled="true" />
donde .xmpp es un subpaquete en mi paquete principal.
Aquí está mi servicio
public class MyService extends Service { public static ConnectivityManager cm; public static MyXMPP xmpp; private static String LOG_TAG = "MyService"; @Override public IBinder onBind(final Intent intent) { Log.v(LOG_TAG, "in onBind"); return null; } @Override public void onCreate() { super.onCreate(); cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (CurrentInfo.getUser() != null) { xmpp = MyXMPP.getInstance(MyService.this, getResources().getString(R.string.xmpp_url), CurrentInfo.getUser().getJabberId(), getString(R.string.xmpp_password)); xmpp.connect("onCreate"); } } @Override public int onStartCommand(final Intent intent, final int flags, final int startId) { super.onStartCommand(intent, flags, startId); return START_STICKY; } @Override public void onDestroy() { super.onDestroy(); xmpp.connection.disconnect(); } public static boolean isNetworkConnected() { return cm.getActiveNetworkInfo() != null; } }
Y comienzo mi servicio como este:
// Start xmpp service here Intent i = new Intent(getBaseContext(), MyService.class); startService(i);
¡Gracias!
- Detener el servicio hasta que se pueda establecer conexión a Internet
- GCM de Android SERVICE_NOT_AVAILABLE
- Servicio de Android - URL de ping
- Iniciar servicio desde la notificación
- Eventos de apagado en Android
- ¿Cuál es la forma correcta de detener un servicio que se está ejecutando como primer plano
- No se puede crear el controlador dentro de hilo que no ha llamado Looper.prepare () en CountDownTimer
- Una forma más eficiente de actualizar la interfaz de usuario del servicio que las intenciones?
- ¿Cómo puedo getText () de EditText en Fragment y pasar en Volley Parámetros?
- Parse + Robolectric causando java.lang.VerifyError: Tipo incorrecto en pila de operandos