隐式打开Activity——Intent设置(如何打开)和Intent-fileter配置(怎么能被打开)...

打开一个Activity的Intent设置和目标Activity的intent-filter配置是一一对应的。

首先看一个Activity的intent-filter的配置:

        <activity
            android:name=".InexplicitConfigActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <!-- 设置接收动作,可以是系统标准动作,也可以是自定义动作,值皆为一个字符串 -->
                <action android:name="android.intent.action.VIEW"/>
                <!-- 设置接收意图范畴,一般使用系统给定的标准范畴,自定义的范畴无意义 -->
                <category android:name="android.intent.category.DEFAULT"/>
                <!-- 定义接收数据格式 -->
                <data android:scheme="https"></data>
                <data android:scheme="svn"></data>
            </intent-filter>
            
            <intent-filter>
                <action android:name="customAction"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

该配置表明该Activity在两种情况下能打开(隐式意图,显式意图不讨论):

  1、使用系统标准动作android.intent.action.VIEW,默认范畴,且必须设置附加数据,数据的模式必须类似于“https://....”或“svn://...”;

  2、使用自定义动作customAction,默认范畴,可以不设置附加数据;

对应的打开该Activity的代码如下:

Intent intent = new Intent();
        
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.baidu.com"));
intent.addCategory(Intent.CATEGORY_DEFAULT);
        
startActivity(intent);
Intent intent = new Intent();
        
intent.setAction("customAction");
intent.addCategory(Intent.CATEGORY_DEFAULT);
    
startActivity(intent);

 

转载于:https://www.cnblogs.com/dragon-aslan/p/4517339.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值