问题描述
- 关于安卓全局喇叭的问题,本人是初学者
-
我要发送一个保准的广播,内容是MY_BROADCAST,首先我定义了一个类,集成BroadcastReceiver,在里面的onReceiver函数中写出收到这条广播后的反应,代码如下:
package com.example.broadcasttest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class MyBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context,Intent intent)
{
Toast.makeText(context, "received in mybroadcastreceiver", Toast.LENGTH_LONG).show();
}
}
然后我为这个类和接收的广播做注册,代码如下:最后我在为主函数添加按钮并且写事件监听,代码如下:
Button button01=(Button)findViewById(R.id.button_01);
button01.setOnClickListener(new OnClickListener()
{
public void onClick(View view)
{
Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
}
});
但是事实上我在运行程序的时候按完按钮却什么也不显示,请问各位大神们这是怎么回事呀?
解决方案
解决方案二:
你不是应该在清单文件里面注册并添加不知道你是怎么注册的,你可以在网上看看,我一直都是在代码里面注册的,网上注册广播的方法好几种
解决方案三:
Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
你前面的android去都没加上好吧--------------com.example.broadcasttest.MY_BROADCAST
解决方案四:
Intent intent=new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
intent里面应该方广播的action(android.example..broadcasttest.MY_BROADCAST),不是BroadcastReceiver("com.example.broadcasttest.MY_BROADCAST)的类的位置。