Android知识

初来学习Intent,基本用法

2016-05-05  本文已影响84人  大话程序

Intent用法

Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据

显示Intent

Intent有多个构造函数的重载,其中一个是Intent(Context packageContext, Class<?> cls),参数packageContext代表启动活动的上下文,参数cls想要启动的目标活动。方法startActivity(Intent intent),启动这个意图。

隐式Intent

隐式Intent并不明确指明我们要启动哪一个活动,而是指定一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,并帮助我们找出合适的活动去启动。

只有actioncategory中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能够响应该Intent,每个Intent中只能指定一个action,但却能指定多个category,调用Intent中的addCategory()方法来添加一个category

隐式Intent的高级用法

调用系统的浏览器

调用系统的拨号器

点击按钮,出现如下界面:


data标签,响应什么类型的数据

setData()方法相对应,在<intent-filter>标签中再配置一个<data>标签,用于更精确的指定当前活动能够指定什么类型的数据。

只有<data>标签中指定的内容和Intent中携带的Data完全一致时,当前活动才能够响应该Intent

设置data标签,可以响应http请求的活动

这个项目的名字叫做ActivityTest

    <activity
        android:name=".ThirdActivity">
        <intent-filter>
            <!--action指定为系统内置的动作-->
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <!--设置了data类型为http请求类型-->    
            <data android:scheme="http"/>
        </intent-filter>
    </activity>

当发送一个http请求时,就会出现:


上一篇 下一篇

猜你喜欢

热点阅读