步骤:
(一)接收广播
1、编写一个类继承BroadcastReceiver,覆写其中onReceive()方法;
2、在 AndroidManifest.xml 中注册广播(静态注册),过滤接收广播类型(可以接收自己发送的广播,也可以接收系统的广播);
(二)发送广播 (自己的广播)
1、在程序中使用 Intent 发送广播,并给广播加上标识便于接收者识别;
(一)接收广播
1、编写一个类继承BroadcastReceiver,覆写其中onReceive()方法;
package com.test;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyReceiver extends BroadcastReceiver {
static final String SS="SS";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(SS, "onReceive"); //接收到广播后的处理
}
}
2、在 AndroidManifest.xml 中注册广播(静态注册),过滤接收广播类型(可以接收自己发送的广播,也可以接收系统的广播);
<application>
.
.
<receiver android:name="com.test">
<!-- 过滤广播,指定可以匹配的的 intent -->
<intent-filter >
<action android:name="com.test.ACTION"/>
</intent-filter>
</receiver>
</aplication>
(二)发送广播 (自己的广播)
1、在程序中使用 Intent 发送广播,并给广播加上标识便于接收者识别;
package com.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
static final String SS="SS";
protected static final String ACTION = "com.test.ACTION"; //广播标识
private Button mButton; // 使用 Button 事件来发送广播
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button) findViewById(R.id.button1);
mButton.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setAction(ACTION);
sendBroadcast(intent);
Log.i(SS, "onClick");
}
});
}
}