首页 > 解决方案 > Android - BroadcastRecevier 没有接收到广播

问题描述

我正在尝试在我的自定义 BroadcasterReceiver 类中接收从外部应用程序发送的广播。但是,尽管遵循了所有正确的步骤(据我所知),但我没有收到它。至少,我所拥有的一切都应该符合这个 SO 帖子。下面是设置:

MyApp.AndroidManifest.xml

<application>
    <receiver
        android:name=".MyReceiver"
        android:exported="true">
        <intent-filter>
            <action android:name="UPDATE_ASSET_REQUEST"/>
        </intent-filter>
    </receiver>
</application>

MyApp.MyReceiver.java

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent != null) {
            String action = intent.getAction();
            if (action != null && action.equals("UPDATE_ASSET_REQUEST")) {
                Log.d(TAG, "intent recevied");
                // ...
            }
        }
    }

}

ExternalApp.LoginActivity

public void sendUpdateAssetBroadcasts() {
    try {
        Log.d(TAG, "Sending Update Asset Broadcasts...");
        Intent prfIntent = new Intent("UPDATE_ASSET_REQUEST");
        prfIntent = buildDeviceInfoForBroadcast(prfIntent, "WEARABLE");
        sendBroadcast(prfIntent);
    } catch (Exception ex) {
        Log.d(TAG, "Failed to send broadcast for asset update: " + ex.getMessage());
    }
}

标签: androidbroadcastreceiver

解决方案


推荐阅读