android 显式 隐式启动activity

简介

android启动activity分为显式启动隐式启动
显式启动时,指定被启动activity类,系统启动被指定的activity类。
隐式启动时,指定action、category,系统会拿action、category去AndroidManifest.xml中匹配,匹配的activity启动

显式启动

某Activity类中代码,启动MyActivity

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

隐式启动

系统去AndroidManifest.xml中寻找匹配actioncom.myapp.action.secondaction、category的com.myapp.category.mycategory activity,这里会启动SecondActivity

    Intent intent = new Intent("com.myapp.action.secondaction");
    intent.addCategory("com.myapp.category.mycategory");
    startActivity(intent);

AndroidManifest.xml配置

   <activity android:name=".SecondActivity">
            <intent-filter >
                <action android:name="com.myapp.action.secondaction"/>
               <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="com.myapp.category.mycategory"/>
               </intent-filter>
   </activity>

说明,由于startActivity方法默认会添加一个categoryandroid.intent.category.DEFAULT,所以配置上默认category;只有action和category同时匹配时,activity才会响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值