未收到广播[LocalBroadcastManager] Android
Broadcast is not getting received[LocalBroadcastManager] Android
你能帮我解决这个问题吗,我已经实现了一个接收器(通过XML注册)监听特定的本地广播,然后启动一个服务进行进一步处理,但不知何故接收器不是收到任何广播。
虽然另一个通过代码注册到本地的接收器可以接收广播,你能帮我解决这个问题吗?下面是我的代码。
// Sending broadcast
Intent intent = new Intent(Constants.ACTION_PROFILE_UPDATED);
LocalBroadcastManager.getInstance(POC.getAppContext()).sendBroadcast(intent);
// Receiver
public class LocalReceiver extends BroadcastReceiver {
private final String TAG = LocalReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "received"); // its not received
if(intent.getAction() != null){
String action = intent.getAction();
Log.i(TAG, "action = " + action);
if(action.equals(Constants.ACTION_PROFILE_UPDATED)){
// IN manifest
<receiver
android:name=".LocalReceiver"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="local.action.profile.updated" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
这个该死的代码不起作用,开发人员指南中没有任何地方说不会通过 xml.
注册的接收器接收本地广播
请帮忙,
谢谢
I have implemented a receiver(registered via XML) which listens for particular local broadcasts
那是不可能的。 LocalBroadcastManager
不适用于清单注册的接收器,仅适用于通过 registerReceiver()
注册的接收器,在 LocalBroadcastManager
实例本身上调用。
你能帮我解决这个问题吗,我已经实现了一个接收器(通过XML注册)监听特定的本地广播,然后启动一个服务进行进一步处理,但不知何故接收器不是收到任何广播。
虽然另一个通过代码注册到本地的接收器可以接收广播,你能帮我解决这个问题吗?下面是我的代码。
// Sending broadcast
Intent intent = new Intent(Constants.ACTION_PROFILE_UPDATED);
LocalBroadcastManager.getInstance(POC.getAppContext()).sendBroadcast(intent);
// Receiver
public class LocalReceiver extends BroadcastReceiver {
private final String TAG = LocalReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "received"); // its not received
if(intent.getAction() != null){
String action = intent.getAction();
Log.i(TAG, "action = " + action);
if(action.equals(Constants.ACTION_PROFILE_UPDATED)){
// IN manifest
<receiver
android:name=".LocalReceiver"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="local.action.profile.updated" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
这个该死的代码不起作用,开发人员指南中没有任何地方说不会通过 xml.
注册的接收器接收本地广播请帮忙, 谢谢
I have implemented a receiver(registered via XML) which listens for particular local broadcasts
那是不可能的。 LocalBroadcastManager
不适用于清单注册的接收器,仅适用于通过 registerReceiver()
注册的接收器,在 LocalBroadcastManager
实例本身上调用。