Android有序广播

继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);
        }
    }
}


 
  

你可能感兴趣的:(Android有序广播)