安卓学习之BroadcastReceiver:发送标准广播-----问题:按照安卓第一行代码Toast一直不提示

#发送自定义广播

发送标准广播

首先我们在发送之前必须创建一个广播接收器来准备接受此广播
这里我先创建一个BroadcastReceiver类型的Java类

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.button_send);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction("com.educate.broadcastreceiver.MY_BROADCAST");
                intent.putExtra("msg","简单的消息");
                sendBroadcast(intent);
            }
        });
    }
}

在创建Broadcast Receiver 会自己在AndroidManifest.xml加入


  

我们要在这里加入我们创建的广播,这里我的内容是:"com.wingtech.broadcastreceiver.MY_BROADCAST”

然后我们可以修改activity_main中的布局,我在这家了一个按钮用于发送广播




    

到最后了我们改写发送广播的代码了:

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.button_send);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.setAction("com.educate.broadcastreceiver.MY_BROADCAST");
                intent.putExtra("msg","简单的消息");
                sendBroadcast(intent);
            }
        });
    }

彩蛋:到这原本应该是能够运行成功,并且能够发送接收广播,我用的是Android9的机器,试了好长时间都没成功,最后看资料说是安卓的版本太高,我创建了一个Android 7 的虚拟机,结果就运行成功了

下面是我运行的结果
安卓学习之BroadcastReceiver:发送标准广播-----问题:按照安卓第一行代码Toast一直不提示_第1张图片

你可能感兴趣的:(Android)