intent

来源:互联网 发布:2017淘宝自动发货源码 编辑:程序博客网 时间:2024/06/05 11:31
intent的两种方式
  • 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。
  • 隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。x显示intent
  • 显式意图我们前面已经提到,形如:

    Intent intent = new Intent();

    intent.setClass(this,Other.class);//此句表示显式意图,因为明确设置激活对象为Other类

    startActivity(intent);

    隐式intent(别的应用程序可以通过隐式调用activity,但可以再activity配置文件中设置exproted=false.来限制别的应用不可以调用)
  • 我们在编写需要被隐式调用的界面的清单文件时,会指定一个Intent Filter(意图过滤器),它是用来匹配隐式Intent的,当一个意图对象被一个意图过滤器进行匹配测试时,会有三个方面会被参考到:

    • 动作(action)
    • 数据(data)
    • 类别(catagory) 
    • <action android:name="com.xiazdong.action" />  //命名规则。包名。android。action。类名
    •  <category android:name="android.intent.category.DEFAULT" /> //表示默认。默认为activity 
    •   <category android:name="com.xiazdong.category" />  
    •  <data        android:host="www.xiazdong.com"     android:scheme="xiazdong" android:mimeType="text/*"/>  

0 0