Android 自定义静态广播接收器不工作
我使用一个名为“com.lpj.test”的自定义操作静态定义broadcastreceiver。已在以下AndroidManifest.xml中注册:Android 自定义静态广播接收器不工作,android,static,broadcastreceiver,message,Android,Static,Broadcastreceiver,Message,我使用一个名为“com.lpj.test”的自定义操作静态定义broadcastreceiver。已在以下AndroidManifest.xml中注册: <receiver android:name=".TestBroadcast"> <intent-filter> <action android:name="com.lpj.test"/> </intent-filter&g
<receiver android:name=".TestBroadcast">
<intent-filter>
<action android:name="com.lpj.test"/>
</intent-filter>
}
然后在主活动中向我的广播接收器发送意图
public class replyer extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_replyer);
this.findViewById(R.id.button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendBroadcast(new Intent("com.lpj.test"));
}
});
}
}
当我单击按钮时,它根本不起作用。Logcat也没有显示带有标记“BroadcastTest”的消息,Toast框也没有弹出。什么也没有发生。我认为问题在于动作名称中的(点),请尝试以下方法
<receiver android:name=".TestBroadcast">
<intent-filter>
<action android:name="comLpjTest"/>
</intent-filter>
@Override
public void onClick(View v)
{
sendBroadcast(new Intent("comLpjTest"));
}
@凌驾
公共void onClick(视图v)
{
sendBroadcast(新意图(“comLpjTest”);
}
In name而不是give.TestBroadcast将其与包名一起用于例如com.mypackage.TestBroadcast
<receiver android:name=".TestBroadcast">
<intent-filter>
<action android:name="comLpjTest"/>
</intent-filter>
@Override
public void onClick(View v)
{
sendBroadcast(new Intent("comLpjTest"));
}