安卓开发学习笔记(10)使用BroadcastReceiver(实例:点击按钮发送一条广播,然后创建一个广播接收器来接收广播)

这个实例又不能正确运行,和视频中的代码一模一样,没有错误,就是不能接收到发送的广播 

activity.xml




  

MyReceiver.java

接收广播

package com.example.broadcastreceiverdemo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

//创建广播接收器
public class MyReceiver extends BroadcastReceiver {

    //接收广播
    //定义两个常量,代表动作的
    private static final String ACTION1="zuckerberg";//动作一
    private static final String ACTION2="mayun";//动作二
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(ACTION1)){//回复第一个广播
            Toast.makeText(context,"MyReceiver收到:扎克伯格的广播",Toast.LENGTH_SHORT).show();
        }
        else if(intent.getAction().equals(ACTION2))//回复第二个广播
        {
            Toast.makeText(context,"MyReceiver收到:马云的广播",Toast.LENGTH_SHORT).show();
        }
    }
}

MainActivity.java

发送广播

package com.example.broadcastreceiverdemo;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=findViewById(R.id.btn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //实现发送一条广播
                Intent intent=new Intent();
                //为Intent添加一个动作
                intent.setAction("mayun");
                //发送广播
                sendBroadcast(intent);
            }
        });
    }
}

AndroidManifest.xml

注册广播接收器 

android:enabled="true"//表示可以实例化
android:exported="true"//表示能接收广播



    
        
            
                

                
            
        
        
        
          
              
              
          
        
    

 

 

 

你可能感兴趣的:(安卓开发学习笔记(10)使用BroadcastReceiver(实例:点击按钮发送一条广播,然后创建一个广播接收器来接收广播))