android---broadcastReceiver广播机制

来源:互联网 发布:光盘打印软件 编辑:程序博客网 时间:2024/05/02 01:13
广播的注册可以分为两种方式:
1,静态注册:就是在清单文件中注册广播,当手机系统接收到广播后就会接收,不管应用程序是否已经启动。注册方式如下
<receiver 
            android:name="com.example.guangbo.gb">
            <intent-filter >
                <action android:name="com.example.gb"/>
            </intent-filter>
        </receiver>

2,在代码中动态注册,这个跟程序的生命周期有关,需要程序启动的情况下注册。一般在onresume注册 ,在onpause中解除注册
注册的方式如下
                gb gb1 = new gb();//自定义的类,继承broadcastReceiver
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.gb");
registerReceiver(gb1, filter);
 
自定义的gb类

package com.example.guangbo;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class gb extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub

if(intent.getAction().toString().equals("com.example.gb"))
{
listener.getText(intent.getExtras().getString("gb"));
}
}
}
广播发送的方式:
 Intent intent = new Intent();
intent.setAction("com.example.gb");
intent.putExtra("gb", "你好");
sendBroadcast(intent);

0 0
原创粉丝点击