android广播(内部类)使用
来源:互联网 发布:mac固件密码解锁 编辑:程序博客网 时间:2024/05/01 20:52
1.广播定义在一个单独的文件中
源码:
public class MessageReceiver extends BroadcastReceiver{@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubif(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){}}}
在Manifest中注册:
<receiver android:name=".MessageReceiver"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter></receiver>
使用代码注册:
//生成广播处理 MessageReceiver smsBroadCastReceiver = new MessageReceiver (); //实例化过滤器并设置要过滤的广播 IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); //注册广播 this.registerReceiver(smsBroadCastReceiver, intentFilter);
注销广播:
unregisterReceiver(smsBroadCastReceiver);
2.广播是内部类
public class SettingForSMS extends PreferenceActivity{@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);addPreferencesFromResource(R.layout.sms_setting);}public static class MessageChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.i(tag, "onReceive"); }}}
注意定义的过程中必须声明为static,不然会找不到
在Manifest中注册:
<receiver android:name=".SettingForSMS$MessageChangeReceiver"> <intent-filter> <action android:name="com.ginwave.message_changed"/> </intent-filter></receiver>
注意内部类使用$符号而不是.,使用.会出现类找不到异常
在程序内注册,register是放在onCreate中,unregister是放在onDestroy中。
smsBroadCastReceiver = new MessageChangeReceiver (); //实例化过滤器并设置要过滤的广播 IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction("com.ginwave.message_changed"); //注册广播 this.registerReceiver(smsBroadCastReceiver, intentFilter);
unregisterReceiver(smsBroadCastReceiver);
希望以后使用的时候方便点~~
- android广播(内部类)使用
- Android广播(内部类)使用
- android广播(内部类)使用
- android广播(内部类)使用
- android广播(内部类)使用
- android广播(内部类)使用
- Android 广播 动、静态注册广播(作为内部类使用)
- Android静态注册内部类广播BroadcastReceiver
- Android静态注册内部类广播BroadcastReceiver
- android 广播 BroadcastReciver写成内部类问题
- android 广播 动态/静态 内部类形式
- android -广播是内部类注册注意事项
- Android静态注册内部类广播BroadcastReceiver
- Android静态注册内部类广播BroadcastReceiver
- Android静态注册内部类广播BroadcastReceiver
- 内部类广播
- Android - Broadcast receiver 作为内部类接受广播
- Android 内部类广播错误.MainActivity$MyReceiver; no empty constructor
- Android程序的版本检测与更新
- CTime简单用法
- ubuntu10.10 tslib1.4
- 多学点基础知识:模2运算的原理
- IOCP入门
- android广播(内部类)使用
- ArcGIS For JavaScript API 添加一个dynamic Service(动态服务)————(一)
- 我的vim配置(带注释)
- 2013-01-04 09:26 myeclipse 8.5最新注册码(过期时间到2016年)
- windows 2003下apache优化 apache2.2
- java从文件中读取信息
- POJ 3349 Snowflake Snow Snowflakes
- 类成员的构造次序
- spring Aop 配置