首先创造接收类继承BroadcastReceiver
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyR1eceive extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("MESSAGE");
Log.i("godv", "MyR1eceive--接收广播" + message);
}
public MyR1eceive() {
Log.i("godv", "MyR1eceive--创建");
}
}
在AndroidManifest.xml中进行注册
<receiver
android:name=".MyR1eceive"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="godv" />
</intent-filter>
</receiver>
具体位置:
这面接收端就完成了
现在开始发送端
发送端-xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="sendNormalBC"
android:text="发送一般广播" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
发送端-java代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendNormalBC(View v) {
Log.i("godv", "发送广播");
//隐式意图 跟接收器的action对应
Intent intent = new Intent("godv");
intent.putExtra("MESSAGE", "godv");
intent.setPackage("com.example.broadcastr");
//intent.setClassName("com.example.broadcastr","com.example.broadcastr.MyR1eceive");
sendBroadcast(intent);
Toast.makeText(this, "发送一般广播", Toast.LENGTH_SHORT).show();
}
}