您的位置:首页 > 移动开发 > Android开发

android 静态注册广播

2014-05-26 10:25 337 查看
步骤:

(一)接收广播

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");
}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息