一、每个Intent只能指定一个action,多个Category.

  使用隐式跳转,我们不仅可以跳转到自己程序内的活动,还可以启动其他程序的活动。使得Android多个程序之间的功能共享成为可能。

  例如:

  

  public class MainActivity extends Activity {
    Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (Button) findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() {  
    @Override
    public void onClick(View v) {
          Intent intent = new Intent(Intent.ACTION_VIEW);
          intent.setData(Uri.parse("http://www.baidu.com"));
          startActivity(intent);
        }
      });
    }
  }

  我们可以在<intent-filter>中再配置一个<data>标签,用于更精确的指定当前活动能够响应什么样的数据。<data>标签中可以配置一下内容:

  1.1 Android scheme:用于指定数据的协议;

  1.2 Android:host,用于指定数据的主机名称;

  1.3Android:port,用于指定数据的端口,一般紧跟在主机名的后面,  

  1.4android:path,用于指定主机名和端口号之后的部分,如一段网址跟在端口后的内容

  1.5 Android:mimeTYPE:用于指定可以处理的数据类型,可以用通配符。

  只有<data>中指定的内容与Intent携带的数据完全一致是才能响应该Intent,一般在<data>中都不会指定过多的内容。

  例子:调用系统打电话的activity:

  

public class SecendActivity extends Activity {
Button Bnt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
Bnt2 = (Button) findViewById(R.id.button2);
Bnt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
}
});
}
} 1.7 Uri.parse()可以将一个字符串解析为URI对象。 二、通过Intent向下一个活动传递数据,向一个上活动返回数据
  Intent启动一个活动是还可以传递数据,Intent提供一些列的putExtra()重载方法,启动了另外一个方法,只需要把数据重Intent中取出来。
  在被启动的activity中使用getIntent方法获取启动它的Intent,然后调用getStringExtra()方法就可取出传递的数据。

Intent 隐式跳转,向下一个活动传递数据,向上一个活动返回数据。的更多相关文章

  1. 第一行Kotlin系列(二)Intent隐式显式跳转及向下传值

    1.Intent显式跳转页面 val button5 = findViewById<Button>(R.id.mButton5) button5.setOnClickListener { ...

  2. [转]Activity详解 Intent显式跳转和隐式跳转

    Activity 生命周期             显式 Intent 调用          1     //创建一个显式的 Intent 对象(方法一:在构造函数中指定)  2      Inte ...

  3. 使用Intent实现Activity的隐式跳转

    相比于显式Intent,隐式Intent 则含蓄了许多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action 和category 等信息,然后交由系统去分析这个Intent,并 ...

  4. android--显式跳转和隐式跳转的差别使用方法

    #创建第二个activity * 新创建的activity.必须在清单文件里做配置,否则系统找不到,在显示时会直接报错 <activity android:name="com.ithe ...

  5. 安卓Intent(隐式)

    相对于显式Intent(明确指出了目标组件名称的Intent),隐式Intent,没有明确指出目标组件名称.显式Intent直接用组件的名称定义目标组件,这种方式很直接.但是由于开发人员往往并不清楚别 ...

  6. 06 Activity隐式跳转

    一,隐式跳转 某个Activity 需要在清单文件配置某个Activity如下信息: 注意:category要和action一起用 action:制定一个活动 在隐式跳转的可以用到 category ...

  7. android intent 隐式意图和显示意图(activity跳转)

    android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity  B ...

  8. Android-----Intent中通过startActivity(Intent intent )隐式启动新的Activity

    显式Intent我已经简单使用过了,也介绍过概念,现在来说一说隐式Intent: 隐式Intent:就是只在Intent中设置要进行的动作,可以用setAction()和setData()来填入要执行 ...

  9. 第一行Kotlin系列(三)Intent 向上一页返回数据onActivityResult的使用

    1.MainActivity.kt跳转处理 声明全局的按钮对象 private lateinit var button8: Button 实例化按钮对象 button8 = findViewById( ...

随机推荐

  1. NYOJ(21),BFS,三个水杯

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=21 BFS判环,vis标记状态即可. #include <stdio.h> # ...

  2. 测可用!ecshop立即购买和加入购物车按钮共存的方法

    网上方法很多,但都不能用的,有的是老版本的,有的方法本身就不完整. 应大多数客户要求,我们重新整理下教程,希望对大家有用. 亲测可用!ecshop立即购买和加入购物车按钮共存的方法 第一步:修改ecs ...

  3. percona-toolkit工具包的使用教程之开发类工具

    percona-toolkit工具包的使用教程之开发类工具 1.  pt-duplicate-key-checker l  功能介绍: 功能为从mysql表中找出重复的索引和外键,这个工具会将重复的索 ...

  4. Python3基础 print 中字符串乘以数字,重复输出多次

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  5. .Net操作音频

    请选中您要保存的内容,粘贴到此文本框 此项目需求是针对.wav格式音频进行操作,转换成相应的.mp3格式的音频文件,对音频进行切割,最后以需求的形式输出,此篇会回顾运用到的一些知识点. 1.MDI子窗 ...

  6. PythonOCC 3D图形库学习—导入STEP模型

    PythonOCC comes with importers/exporters for the most commonly used standard data files format in en ...

  7. XSS技巧综合

    这周六会在公司分享经验和技巧,把自己的和网上的一些技巧来综合写一些,方便大家和自己: 普通的XSS,储存,反射,DOM 形成的无外乎就是输出点在html标签之间,html属性之间,成为JS代码,称为C ...

  8. CUBRID学习笔记 11 数据类型之日期

    datetime 虽然和mysql很相像,但是日期类型和mysql是不一样的.和sqlserver差不多. 如YYYY-MM-DD hh:mi:ss.fff or mm/dd/yyyy hh:mi:s ...

  9. Jenkins插件及 测试源码

    Jenkins 插件: https://updates.jenkins-ci.org/download/plugins/ 小米的一份android源码,测试工具,用于抢红包: https://gith ...

  10. C#正则表达式编程(二):Regex类用法

    上一篇讲述了在C#中有关正则表达式的类之间的关系,以及它们的方法,这一篇主要是将Regex这个类的用法的,关于Match及MatchCollection类会在下一篇讲到.对于正则表达式的应用,基本上可 ...