广播的注册可以分为两种方式:
1,静态注册:就是在清单文件中注册广播,当手机系统接收到广播后就会接收,不管应用程序是否已经启动。注册方式如下
2,在代码中动态注册,这个跟程序的生命周期有关,需要程序启动的情况下注册。一般在onresume注册 ,在onpause中解除注册
注册的方式如下
自定义的gb类
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 intent = new Intent();
intent.setAction("com.example.gb");
intent.putExtra("gb", "你好");
sendBroadcast(intent);