Android有序广播

本文介绍了Android中的BroadcastReceiver广播接收者,解释了其工作原理及如何使用。提供了无序广播发送者的Java代码示例以及接收者的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继BroadcastReceiver广播接收者


BroadcastReceiver翻译为广播接收者,Broadcast是一种广泛运用在应用程序之间的传输信息的机制,简单的可以理解为传统意义上的电台广播,通俗一点,发布失物招领。广播机制是一个典型的发布—订阅模式,也就是我们所说的观察者模式。广播最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的,通过这样的形式来达到接、收双方的完全解耦合。


无序广播发送者Java代码:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private EditText et_main_content;

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

        et_main_content = (EditText) findViewById(R.id.et_main_content);

    }

    public void send(View view){
        //获取要发送的内容
        String content=et_main_content.getText().toString();
        Intent intent=new Intent();
        //指定广播的名字
        intent.setAction("com.example.android21_sender.SY");
        //指定广播的内容
        intent.putExtra("content",content);
        //发送无序广播
//        sendBroadcast(intent);
        //发送无序黏性广播
//        sendStickyBroadcast(intent);
        //发送有序广播
        sendOrderedBroadcast(intent,null);
        Toast.makeText(this, "发送成功"+content, Toast.LENGTH_SHORT).show();
    }
}


接收者:

public class MyReceiver01 extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("test","1进来了");
        //获取广播的名字
        String action=intent.getAction();
        if("com.example.android21_sender.SY".equals(action)){
            //获取广播内容
            String content=intent.getStringExtra("content");
            Log.i("test","1:"+content);
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值