Android有序广播

来源:互联网 发布:linux系统编程 第2版 编辑:程序博客网 时间:2024/06/04 18:31

继BroadcastReceiver广播接收者


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


无序广播发送者Java代码:

  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
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();
}
}
 来自CODE的代码片
android22_send.java


接收者:

  1  2  3  4  5  6  7  8  9 10 11 12 13
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);
}
}
}
原创粉丝点击