发送者布局:
<?xml version="1.0" encoding="utf-8"?>
<
LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="com.example.android_sender.MainActivity">
<
EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入发送的内容"
android:id="@+id/et_main_content"/>
<
Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="发送"
android:onClick="send"/>
</
LinearLayout>
Activity:
package com.example.android_sender;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
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.android_sender.hug");
//指定广播的内容
intent.putExtra(
"content",content);
//发送无序广播
sendBroadcast(intent);
}
}
1号接收者静态:manifests:
<?xml version="1.0" encoding="utf-8"?>
<
manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android_recriver01">
<
application android:allowBackup="true" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:theme="@style/AppTheme">
<
activity android:name=".MainActivity">
<
intent-filter>
<
action android:name="android.intent.action.MAIN" />
<
category android:name="android.intent.category.LAUNCHER" />
</
intent-filter>
</
activity>
<
receiver android:name=".MyReceiver01">
<
intent-filter>
<
action android:name="com.example.android_sender.hug">
</
action>
</
intent-filter>
</
receiver>
</
application>
</
manifest>接收,新建一个类:
package com.example.android_recriver01;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* Created by Administrator on 2017/7/11 0011.
*/
public class MyReceiver01
extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//获取广播的名字
String action=intent.getAction();
if (
"com.example.android_sender.hug".equals(action)){
//获取广播的内容
String content=intent.getStringExtra(
"content");
Log.
i(
"text",
"广播接收者1号:"+content);
}
}
}
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* Created by Administrator on 2017/7/11 0011.
*/
public class MyReceiver01
extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//获取广播的名字
String action=intent.getAction();
if (
"com.example.android_sender.hug".equals(action)){
//获取广播的内容
String content=intent.getStringExtra(
"content");
Log.
i(
"text",
"广播接收者1号:"+content);
}
}
}
2号接收者动态:Activity:
package com.example.android_receiver02;
import android.content.IntentFilter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity
extends AppCompatActivity {
private MyReceiver02
myReceiver02;
private IntentFilter
intentFilter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main);
myReceiver02 =
new MyReceiver02();
intentFilter =
new IntentFilter();
intentFilter.addAction(
"com.example.android_sender.hug");
}
@Override
protected void onResume() {
super.onResume();
//注册广播
registerReceiver(
myReceiver02,
intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
//取消注册 注销
unregisterReceiver(
myReceiver02);
}
}接收,新建一类:
package com.example.android_receiver02;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* Created by Administrator on 2017/7/11 0011.
*/
public class MyReceiver02
extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//获取广播的名字
String action=intent.getAction();
if (
"com.example.android_sender.hug".equals(action)){
//获取广播的内容
String content=intent.getStringExtra(
"content");
Log.
i(
"text",
"广播接收者2号:"+content);
}
}
}