![](/img/trans.png)
[英]Basic Android alarm app, Broadcast Receiver's onReceive() method not being called
[英]How can I verify that the onReceive method of a Broadcast Receiver from a different App is actually called?
我是 Android 的初学者,我面临以下问题。 我正在尝试从(不同的)应用程序 B 调用应用程序 A 注册的广播接收器。在应用程序 A 的广播接收器中,为了测试目的,我实现了以下onReceive()
方法:
@Override
public void onReceive(Context context, Intent intent) {
//TODO: React to the Intent received.
System.out.println("onReceive has been called");
}
在 App B 中使用以下代码调用广播接收器:
Intent explicitIntent = new Intent();
explicitIntent.setComponent(new ComponentName("<A's package name>", "<fully qualified BR class name>"));
sendBroadcast(explicitIntent);
运行 App B 时,我希望看到onReceive has been called
string 出现在 Android Studio 控制台上,但事实并非如此。 是因为该方法实际上没有被调用(出于某种原因),还是因为期望 App B 控制台可以可视化来自 App A 的System.out.println
消息是天真的? 在第二种情况下,是否有另一种简单的方法可以在 Android Studio 中测试 App A 中的onReceive()
方法是否实际被调用?
我没有你的 API 版本来测试, 但是,如果您以不同的方式注册接收器,您的设置将起作用:
<receiver android:name=".MyBroadcastReceiver" android:exported="true"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.