Android 我的广播接收器没有';我无意接受
我正在开发一个应用程序,我需要另一个只有广播接收器的外部应用程序。这是我的密码: 附录1:Android 我的广播接收器没有';我无意接受,android,broadcastreceiver,Android,Broadcastreceiver,我正在开发一个应用程序,我需要另一个只有广播接收器的外部应用程序。这是我的密码: 附录1: app2(带接收器的): 这样,我就不会得到“已接收”日志,也不会得到额外的日志。为什么?您的“接收应用程序”必须至少启动一次 您可能需要查看。显示包含类定义的类的部分——您的“receiver”扩展了BroadcastReceiver,对吗?是什么启动了第二个(接收)应用程序?我的第二个应用程序不是“application”“。只是一个仅包含BroadcastReiver的包,没有任何活动!我认为这是
app2(带接收器的): 这样,我就不会得到“已接收”日志,也不会得到额外的日志。为什么?您的“接收应用程序”必须至少启动一次
您可能需要查看。显示包含类定义的类的部分——您的“receiver”扩展了BroadcastReceiver,对吗?是什么启动了第二个(接收)应用程序?我的第二个应用程序不是“application”“。只是一个仅包含BroadcastReiver的包,没有任何活动!我认为这是可能的。不是吗?看!我正在扩展广播接收器!在app1中,我通过一个简单的onclick按钮发送广播。开始的时候我放了一些日志,我确信广播已经发送了。。。那么广播没有接收,但原因是什么?@iGio90:因为两者都是不同的应用程序,所以请在设置
android:exported=“true”
用于receiver
Intent intent = new Intent();
intent.setAction("com.blabla.myaction");
intent.putExtra("extra", "test");
sendBroadcast(intent);
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.test" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<receiver
android:name=".myReceiver">
<intent-filter>
<action android:name="com.blabla.myaction" />
</intent-filter>
</receiver>
</manifest>
public class myReceiver extends BroadcastReceiver {
private Context mContext;
public static final String ACTION = "com.blabla.myaction";
@Override
public void onReceive(Context context, Intent intent) {
mContext = context;
if (ACTION.equals(intent.getAction())) {
Log.e("lala", "received");
String extra = intent.getStringExtra("extra");
if (packageName != null) {
Log.e("lala", extra);
}
}
}