intentfilter,intentfilteradddatascheme
Android Studio的intent-filter,action,category是什么?
准确来说这仨不属于Android studio,而是属于Android系统里的重要的三个属性。
注:Android系统里一些属性或者名词的翻译总是不能确切表达其真实的含义,仅供理解参考。
Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。
提起intent-filter(意图过滤器),首先得知道Intent(意图),Intent Filter(意图过滤器)其实就是用来匹配隐式Intent的,当一个意图对象被一个意图过滤器进行匹配测试时,只有三个方面会被参考到:动作、数据(URI以及数据类型)和类别。这其中就包含action和category.
action表示你接下来的行为,比如你要打开一个新的activity,这个行为就成为一个动作。
category表示这个动作的类型。
我们来举个例子:
activity android:name=".SplashActivity" android:theme="@style/LaunchScreenTheme"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
用一句通俗的话描述就是:当intent-filter收到带有action为"android.intent.action.MAIN"de intent时,就会执行category里的“android.intent.category.LAUNCHER”对SplashActivity进行操作。
android应用程序开发中的intentfilter是什么,怎么用?
在intent中设置action,
data,
categroy之后在对应的intentfilter中设置相同的属性即可通过过滤被activity调用详细的过滤规则你上网查查吧~特别是data的过滤规则~
Intent和IntentFilter的区别详解
1. 从名字来看 IntentFilter 比Intent 多了个Filter
即后者比前者多了个筛选作用
筛选条件:
action、data和category
2.intent
filter一般不会在java代码中设置,而是在应用的manifest文件中作为intent-filter元素的方式声明。一个例外是,为broadcast
receiver注册动态的filter,可以调用Context.registerReceiver()方法,通过直接实例化IntentFilter对象创建。