Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义静态广播接收器不工作_Android_Static_Broadcastreceiver_Message - Fatal编程技术网

Android 自定义静态广播接收器不工作

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

我使用一个名为“com.lpj.test”的自定义操作静态定义broadcastreceiver。已在以下AndroidManifest.xml中注册:

<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"));
}