android广播(内部类)使用
2014-05-26 13:46
459 查看
1.广播定义在一个单独的文件中
源码:
[java] view
plaincopy
public class MessageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
}
}
}
在Manifest中注册:
[html] view
plaincopy
<receiver android:name=".MessageReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
使用代码注册:
[java] view
plaincopy
//生成广播处理
MessageReceiver smsBroadCastReceiver = new MessageReceiver ();
//实例化过滤器并设置要过滤的广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
//注册广播
this.registerReceiver(smsBroadCastReceiver, intentFilter);
注销广播:
[java] view
plaincopy
unregisterReceiver(smsBroadCastReceiver);
2.广播是内部类
[java] view
plaincopy
public class SettingForSMS extends PreferenceActivity{
@Override
public 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中注册:
[html] view
plaincopy
<receiver android:name=".SettingForSMS$MessageChangeReceiver">
<intent-filter>
<action android:name="com.ginwave.message_changed"/>
</intent-filter>
</receiver>
注意内部类使用$符号而不是.,使用.会出现类找不到异常
在程序内注册,register是放在onCreate中,unregister是放在onDestroy中。
[java] view
plaincopy
smsBroadCastReceiver = new MessageChangeReceiver ();
//实例化过滤器并设置要过滤的广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.ginwave.message_changed");
//注册广播
this.registerReceiver(smsBroadCastReceiver, intentFilter);
[java] view
plaincopy
unregisterReceiver(smsBroadCastReceiver);
希望以后使用的时候方便点~~
源码:
[java] view
plaincopy
public class MessageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
}
}
}
在Manifest中注册:
[html] view
plaincopy
<receiver android:name=".MessageReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>
使用代码注册:
[java] view
plaincopy
//生成广播处理
MessageReceiver smsBroadCastReceiver = new MessageReceiver ();
//实例化过滤器并设置要过滤的广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
//注册广播
this.registerReceiver(smsBroadCastReceiver, intentFilter);
注销广播:
[java] view
plaincopy
unregisterReceiver(smsBroadCastReceiver);
2.广播是内部类
[java] view
plaincopy
public class SettingForSMS extends PreferenceActivity{
@Override
public 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中注册:
[html] view
plaincopy
<receiver android:name=".SettingForSMS$MessageChangeReceiver">
<intent-filter>
<action android:name="com.ginwave.message_changed"/>
</intent-filter>
</receiver>
注意内部类使用$符号而不是.,使用.会出现类找不到异常
在程序内注册,register是放在onCreate中,unregister是放在onDestroy中。
[java] view
plaincopy
smsBroadCastReceiver = new MessageChangeReceiver ();
//实例化过滤器并设置要过滤的广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.ginwave.message_changed");
//注册广播
this.registerReceiver(smsBroadCastReceiver, intentFilter);
[java] view
plaincopy
unregisterReceiver(smsBroadCastReceiver);
希望以后使用的时候方便点~~
相关文章推荐
- android广播(内部类)使用
- android广播(内部类)使用
- Android广播(内部类)使用
- android广播(内部类)使用
- android广播(内部类)使用
- android广播(内部类)使用
- 使用广播实现的Android关机及重启
- Android使用wifi通过UDP协议发送广播数据包给PC接收不到问题解决方法
- network: android 使用广播监听网络状态
- network: android 使用广播监听网络状态
- android广播和短信广播详解----使用广播接收者窃听短信
- android 使用广播监听网络状态
- android中BroadCastReceiver使用(广播的接受和发送)
- android 广播的使用
- Android广播、Service、Activity综合使用
- android安卓广播的使用
- android 使用广播监听网络状态
- 使用广播实现的Android关机及重启
- Android 2.2完全退出程序, 使用广播机制
- android 使用广播监听网络状态