如何验证来自不同 App 的 Broadcast Receiver 的 onReceive 方法是否实际被调用?

How can I verify that the onReceive method of a Broadcast Receiver from a different App is actually called?

我是 Android 的初学者,我遇到了以下问题。 我正在尝试从(不同的)应用程序 B 调用应用程序 A 注册的广播接收器。 在 App A 的广播接收器中,我实现了以下 onReceive() 方法,用于测试目的:

@Override
public void onReceive(Context context, Intent intent) {
    //TODO: React to the Intent received.
    System.out.println("onReceive has been called");
}

在应用程序 B 中使用以下代码调用 Boradcast 接收器:

Intent explicitIntent = new Intent();
explicitIntent.setComponent(new ComponentName("<A's package name>", "<fully qualified BR class name>"));
sendBroadcast(explicitIntent);

当 运行 应用程序 B 时,我希望看到 onReceive has been called 字符串出现在 Android Studio 控制台上,但它没有。 是因为该方法实际上没有被调用(出于某种原因),还是因为期望 App B 控制台可以可视化来自 App A 的 System.out.println 消息是天真的? 在第二种情况下,是否有另一种简单的方法可以在 Android Studio 中测试实际调用 App A 的 onReceive() 方法?

我没有你的 API ver 来测试, 但如果你注册你的接收器有点不同,你的设置将工作:

<receiver android:name=".MyBroadcastReceiver"  android:exported="true"/>