隐式Intent

显式Intent

点击此处跳转

隐式Intent

不能够直接使用intent跳转,需要对intent添加Category action data这三种参数(可以不配置data)不明确指出要跳转到哪一个界面 而是根据这些参数信息 让系统去选择跳转到哪一个界面
比如我创建了另一个SecondActivity 希望能跳转到此页面 需要在AndroidManifest中配置如下信息:

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

其中<category android:name="android.intent.category.DEFAULT"是必须配置的,否则不支持隐式跳转
在MainActivity中 对一个Button进行如下配置:

   btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent("com.example.activitytest.ACTION_START");
                    intent.addCategory("android.intent.category.DEFAULT");
                    startActivity(intent);
                }
            });

其中intent.addCategory("android.intent.category.DEFAULT");是非必要配置的,因为android.intent.category.DEFAULT是一种默认的Category,在调用startActivity()时会自动将该Category添加进intent。

intent可以不添加category 但是必须要有action。
有category的情况下 必须要在对应的action中配置的有相同的category才能成功跳转

使用隐式intent不仅可以启动自己程序内的活动,还可以启动其他程序的活动

Data

比如跳转其他网页:直接在Activity中进行如下配置即可

  					Intent it  = new Intent(Intent.ACTION_VIEW);
                    it.setData(Uri.parse("http://www.google.com"));
                    startActivity(it);

在这里插入图片描述
其他常用的隐式intent

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值