Receptor de radiodifusión en fragmento no recibe intención de servicio
Tengo un fragmento y un servicio como a continuación:
Me registro y cancelo el registro de LocalbroadcastManager en el archivo Fragment.java
- evitando un bloqueo cuando alguien monta una tarjeta SD de Android
- deshabilitar el paquete que instala mediante programación
- Cómo pasar un parámetro a una subclase de BroadcastReceiver?
- PACKAGE_ADDED BroadcastReceiver no funciona
- Abrir la aplicación cuando se conecta con wifi
Fragment.java
@Override public void onStart() { // TODO Auto-generated method stub super.onStart(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ffmpegService.PROGRESS); intentFilter.addAction(ffmpegService.DONE); LocalBroadcastManager.getInstance(getActivity()). registerReceiver(receiver, intentFilter); } @Override public void onStop() { LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(receiver); super.onStop(); } private final BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equalsIgnoreCase(ffmpegService.PROGRESS)){ .... } }
En la clase ffmpegService, envío la emisión al fragmento en 1 manejador como se muestra a continuación:
FfmpegService.java
private Handler handler; private Context mContext; public void onCreate() { mContext = this.getApplicationContext(); } @Override public void onStart(Intent intent, int startid) { handler = new Handler(); handler.postDelayed(workTask, 3000); } private Runnable workTask = new Runnable() { @Override public void run() { Intent intent = new Intent(PROGRESS); intent.putExtra("progress", 90); LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent); } }
Pero al correr, el fragmento no recibió nada de la difusión de servicios.
¡Cualquier ayuda sería apreciada!
Gracias.
- Eliminar Apk después de la instalación de la aplicación
- GCM BroadcastReceiver setResultCode uso
- SMS recibidos en mi aplicación de SMS y en Hangouts, aunque llamo a abortBroadcast ()
- La notificación no se elimina al hacer clic en el botón de acción incluso después de proporcionar el ID de notificación
- ¿Cómo inicio mi aplicación al inicio?
- BroadcastReceiver SMS_Received no funciona en nuevos dispositivos
- Actividad PopUp comienza de nuevo cuando se inicia desde "aplicaciones recientes"
- BroadcastReceiver CONNECTIVITY_CHANGE siempre se ejecuta en la primera vez que se inicia la aplicación?
Encontré la causa raíz. Porque mi servicio se ejecuta en su propio proceso.
<service android:name="com.media.ffmpeg.ffmpegService" android:enabled="true" android:process="com.media.ffmpegservice"> </service>
He eliminado android: process = "com.media.ffmpegservice" y funciona bien.