广播接收器在片段中没有收到来自服务的意图

我有一个片段和一个服务如下:

我在文件Fragment.java中注册和取消注册LocalbroadcastManager

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)){ .... } } 

在ffmpegService类中,我将广播发送到1处理程序中的片段如下:

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

但在运行中,这个片段没有收到任何服务广播。

任何帮助,将不胜感激!

谢谢。

Solutions Collecting From Web of "广播接收器在片段中没有收到来自服务的意图"

我find了根本原因。 因为我的服务正在自己的进程中运行。

 <service android:name="com.media.ffmpeg.ffmpegService" android:enabled="true" android:process="com.media.ffmpegservice"> </service> 

我删除了android:process =“com.media.ffmpegservice”,它工作正常。