A. android中,intentfilter怎么动态添加属性
千 锋扣丁学堂iOS开发为您解答: 1. Android把安装的包中可获得的Intent Filter放到一个列表中。 2. 动作和与正在解析的Intent的种类不关联的Intent Filter会从列表中删除。 2.1. 动作匹配指Android Intent Filter包含特定的动作或没有指定的动作。一个Intent Filter有一个或多个定义的动作,如果没有任何一个能与Intent指定的动作匹配的话,这个Intent Filter在算作是动作匹配检查失败。 2.2. 种类匹配更为严格。Intent Filter必须包含所有在解析的Intent中定义的种类。一个没有特定种类的Intent Filter只能与没有种类的Intent匹配。 3. Intent的数据URI中的部分会与Intent Filter中的data标签比较。如果Intent Filter定义scheme,host/authority,path或mimetype,这些值都会与Intent的URI比较。任何不匹配都会导致Intent Filter从列表中删除。 没有指定data值的Android Intent Filter会和所有的Intent数据匹配。 3.1. mimetype是正在匹配的数据的数据类型。当匹配数据类型时,你可以使用通配符来匹配子类型(例如,earthquakes/*)。如果Intent Filter指定一个数据类型,它必须与Intent匹配;没有指定数据的话全部匹配。 3.2. scheme是URI部分的协议——例如,http:,mailto:,tel:。 3.3. host-name或“data authority”是介于URI中scheme和path之间的部分。匹配主机名时,Intent Filter的scheme也必须通过匹配。 3.4. 数据path是紧接在“data authority”的后面(例如,/ig)。path只在scheme和host-name部分都匹配的情况下才匹配。 4. 如果这个过程中多于一个组件解析出来的话,它们会以优先度来排序,可以在Android Intent Filter的节点里添加一个可选的标签。最高等级的组件会返回。 Android本地的应用程序组件和第三方应用程序一样,都是Intent解析过程中的一部分。它们没有更高的优先度,可以被新的Activity完全的代替,这些新的Activity宣告自己的Intent Filter能响应相同的动作请求。
B. android应用程序开发中的intentfilter是什么,怎么用
在intent中设置action,
data,
categroy之后在对应的intentfilter中设置相同的属性即可通过过滤被activity调用详细的过滤规则你上网查查吧~特别是data的过滤规则~
C. android开发的AndroidManifest.xml为何要有 <intent-filter> ,这是什么作用
意图过滤器说白了就是在你启动程序时,最先启动的是那个activity。所以说<intent-filter>是必须有的。 否则android不知道先启动谁。
D. 安卓开发的时候在Manifest文件中有一个<intent-filter>里面包含<action>和<category>
Android 会根据 manifest.xml 是启动相应的应用程序。
启用应用程序的时候,会启用对应的Activity,启用的这些Activity也要在manifest.xml中声明。
你说的这个<intent-filter>在声明的时候用到的,是在activity下一级,而<action>和<category>又是在<intent-filter>的下一级
<activity...
<intent-filter>...
<action...
<category...
</intent-filter>
</activity>
<intent-filter> 就理解为过滤器,它指定了启动应用程序的Intent对象的动作和类型
<action android:name="android.intent.action.MAIN" />
--> 表示这个activity是主入口,换句话说, 你只要启动这个应用程序,就要首先调用这个activity
<category android:name="android.intent.category.LAUNCHER" />
--> 表示这个activity种类,要加到LAUNCHER程序列表里。
希望对你有用。
E. AndroidManifest.xml里的application,intent-filter,action ,category ,service 代表什么意思
application 就是表示应用程序啊
activity 就是表示一个界面,Activity
intent-filter 就是意图过虑器,
action ,category是图标过过虑器的一些属性设置
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这个就是表示在桌面创建一个图标,同时也是程序的启动入口
service 就是运行在后面的服务
F. Android IntentFilter问题
IntentFilter实际上相当于Intent的过滤器,一个应用程序开发完成后,需要告诉Android系统自己能够处理哪些隐形的Intent请求,这就需要声明IntentFilter。IntentFilter的使用方法实际上非常简单,仅声明该应用程序接收什么样的Intent请求即可。
IntentFilter过滤Intent时,一般是通过Action、Data及Category三方面进行监测的。接下来分别对这三方面进行介绍。
(1)检查Action
一个Intent只能设置一种Action,但是一个IntentFilter却可以设置多个Action过滤。当IntentFilter设置了多个Action时,只需一个满足即可完成Action验证。当IntentFilter中没有说明任何一个Action时,那么任何的Action都不会与之匹配。而如果Intent中没有包含任何Action,那么只要IntentFilter中含有Action时,便会匹配成功。
(2)检查Data
数据的监测主要包含两部分,即数据的URI及数据类型,而数据URI又被分成三部分进行匹配(scheme、authority、path),只有这些全部匹配时,Data的验证才会成功。
(3)检查Category
IntentFilter同样可以设置多个Category,当Intent中的Category与IntentFilter中的一个Category完全匹配时,便会通过Category的检查,而其他的Category并不受影响。但是当IntentFilter没有设置Category时,只能与没有设置Category的Intent相匹配。
G. android,,,manifest.xml 怎么有两个 <intent-filter >每个作用是什么啊
首先注意每个intent-filter
是在不同的activity里。
<intent-filter
>
<action
android:name="android.intent.action.MAIN"
/>
<category
android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
这个是FirstActivity类的,表示这个activity是主页面,就是app运行时的启动页面。
<intent-filter
>
<action
android:name="test_action"
/>
<category
android:name="android.intent.category.DEFAULT"
/>
</intent-filter>
这个是SecondActivity类的,表明想得到一个action为“test_action”的intent,从你的类名猜测,你应该是从FirstActivity跳转到SecondActivity。那么在创建intent时,设置action为“test_action”,则可以实现。
简单的说Intent是请求或者意图,你可以使用IntentFilter
来过滤出自己想要的intent,详细了解可在网上搜索intent关键字。
H. 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进行操作。
I. android 大神新手求助啊。。。在AndroidManifest.xml中多个intent-filter属性,怎么区分哪个是主入口啊。
一个应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需要显示在程序列表里,有些不需要。怎么定义呢?android.intent.action.MAIN决定应用程序最先启动的Activity
,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里。Main和LAUNCHER同时设定才有意义,
如果有多个同级的Activity都有过滤器
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
则只有最前面的Activity的 <action
android:name="android.intent.action.MAIN"
/> 有效,启动该程序时,执行的是该Activity。且在程序列表中有多个图标,这些Activity都在程序列表中显示,该Application有多个入口,执行不同的Activity,但是整个程序的主入口(整个程序最先运行的那个activity)只有最先定义的那个Activity。
如 果一个应用没有LAUNCHER则该apk仍能安装到设备上,但是在主程序图中看不到。如果给那个Activity
设定了LAUNCHER,且同时设定了Main,则这个Activity就可出现在程序图中;如果没有Main,则不知启动哪个Activity,故也不会有图标出现。