IntentFilter使用指南及示例
在Android开发中,IntentFilter是实现组件间通信的关键机制之一,特别是在启动服务、打开活动或传递数据时。IntentFilter允许应用程序声明能够处理的Intent类型,包括ACTION(如ACTION_VIEW、ACTION_SEND)、CATEGORY(如CATEGORY_DEFAULT)、DATA(如MIME类型和URI)等。以下是一个接收短信的BroadcastReceiver示例:
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Telephony.Sms.Intents.SMS_RECEIVED_ACTION)) {
//处理接收到的短信
}
}
}
在AndroidManifest.xml中注册:
<receiver android:name='\".SmsReceiver\"'>
<intent-filter>
<action android:name='\"android.provider.Telephony.SMS_RECEIVED\"'>action>
<data android:scheme='\"sms\"'>data>
intent-filter>
receiver>
总结来说,IntentFilter在Android开发中扮演着重要角色,提高了组件之间的灵活性与可发现性。
用户评论