使用Intent在活动间穿梭 --7

第二个活动注册时,仅需在AndroidManifest.xml 中新增如下:

<activity 
            android:name=".SecondActivity">
        </activity>

由于不是主活动,所以无需配置;
Intent 是android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可以被用于启动活动、启动服务、以及发送广播等产景;
Intent 的用法大致可分为两类:显式Intent 和隐式Intent;

1.显示Intent,FristActivity中代码如下:

Intent intent = new Intent(FristActivity.this,SecondActivity.class);
    startActivity(intent);

此构造方法有两个参数(Context packageContext, Class cls),参数一Context要求提供一个启动活动的上下文,参数二Class表示需要启动的的目标活动。
通过activity 的startActivity 方法启动活动,它接收一个Intent 参数。

2.隐式Intent:不明确指出想要启动哪个活动,而是指定一系列抽象的action 以及category等信息,由系统去分析这个Intent,并帮忙找出合适的活动去启动。
AndroidManifest.xml代码如下:

<intent-filter >
                <action android:name="com.example.activitytest.ACTION_START"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="com.example.activitytest.MY_CATEGORY"/>
            </intent-filter>

在secondactivity 注册中加入定义action 以及 category 的设定。其中category 可以是默认的DEFAULT 也可以设定其他值。
FristActivity.java 代码如下:

Intent intent = new Intent("com.example.activitytest.ACTION_START");
     intent.addCategory("com.example.activitytest.MY_CATEGORY");
     startActivity(intent);

Intent 的构造方法直接将action从作为参数传入,如果AndroidManifest.xml中的category为DEFAULT ,表示用的是默认的category,那么在FristActivity中不需要再另外新增,如果不是,则调用addCategory()来新增一个category。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值