首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LocalBroadcastManager没有收到消息

LocalBroadcastManager没有收到消息
EN

Stack Overflow用户
提问于 2016-06-22 10:30:24
回答 1查看 492关注 0票数 0

我的LocalBroadcastManager回调函数“接收网格”。有人能告诉我为什么吗?

我试着在我的三星银河S3迷你(4.1.2 -Jelly Bean,API 16)上做这件事。

SenderClass:

代码语言:javascript
复制
public static final String BROADCAST = "com.android.SOME_BROADCAST";
private Context context;

public SenderClass(Context context) {
        this.context = context;
        //...

    Intent intent = new Intent(BROADCAST);
    //intent.putExtra(EXTRA_SOMEEXTRA, "some extra");
    LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
    //just to keep it simple i do it here
}

MainActivity

代码语言:javascript
复制
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d(TAG, "onReceive"); //this is never called!

        }
    };

@Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "onResume()");

        LocalBroadcastManager.getInstance(this).registerReceiver(
                broadcastReceiver,
                new IntentFilter(SenderClass.BROADCAST)
        );
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "onPause()");

        LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
    }

编辑:在这里,清单

流形

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android....">

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Activities.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service
            android:name=".Services.MyService"
            android:enabled="true"
            android:exported="false"></service>
    </application>

</manifest>
EN

回答 1

Stack Overflow用户

发布于 2016-06-22 10:36:10

尝试以下步骤:-在onCreate中注册您的广播,在活动的onDestroy中取消注册广播。

谢谢,这可能对你有帮助。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37965369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档