Intent的概念及应用,以及Intentfilter过滤器的选项配置

Intent包括显示Intent和隐式Intent
手动创建一个Activity:
创建一个class继承于Activity,里面要重构一个onCreat()函数,

protected void onCreat(Bundle savedInstanceState){
              super.onCreat(savedInstanceState);
              setContentView(R.layout.xxx);//通过setContentView()绑定视图文件XML

}
之后在AndroidManifest.xml中的application中,添加以下语句:

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

startActivity(new Intent(MainActivity.this, xxx.class));//启动该Activity,这就是显式的Intent,指定了要执行的Activity为xxx

在隐式Intent中,
在AndroidManifest.xml中的application中,添加以下语句:

<activity
    android:name=".AnotherAty"
android:label="@string/title_activity_another_aty" >
<intent-filter>//过滤器
    <action android:name="com.xxx.project.intent.action.aty"/>//定义该Acitivity 的 name
    <category android:name="android.intent.category.DEFAULT"/>//指定它是一个Acitivity
</intent-filter>
</activity>
startActivity(new Intent(“com.xxx.project.intent.action.aty”));//启动该Activity,这就是隐式的Intent,指定了要执行的Activity为AnotherAty

com.xxx.project.intent.action.aty这个字符串还可以在Activity类的定义中,添加为常量字符串。
通过隐式的Intent可以在一个程序中,调用另一个APP的activity。
如果需要规定该ACTIVITY只能在同一个APP中被调用,则可以在manifest中的activity定义里添加:
android: exported = “false”;

intentfilter过滤器可以用于设置匹配信息,包括action,category,还有data.
category可以定义是否是Acitivity(

            <category
android:name="android.intent.category.DEFAULT"/>),

是否允许被浏览器访问调用(

<category android:name="android.intent.category.BROWSABLE"/>)

data可以定义协议Scheme/参数等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值