一、显式Intent:
startActivity(new Intent(MainActivity.this, 类名.class));
 

二、隐式Intent:

1.在AndroidManiFest.xml 文件的<application>标签中注册 <activity>标签,形如 .类名:

  <activity android:name=".Another" android:exported="false" >
            <intent-filter >
                <action android:name="com.example.jikexueyuan_learnintent.intent.action.another"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
   </activity>
        注:exported属性为是否可以在其他其他APP中引用或者打开此activity,即是否可导出
               intet-filter中,<action>标签,给该activity 取一个名字,任意(一般为:包名.intent.action.类名)
                                       <category>标签,一般是android.intent.category.DEFAULT 。
2.在调用的类中, startActivity(new Intent(" intet-filter中,<action>标签,给该activity 取的名字"));
findViewById(R.id.btn_startAnotherAty).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                try {
                    startActivity(new Intent("com.example.jikexueyuan_learnintent.intent.action.another"));
                } catch (Exception e) {
                    // TODO: handle exception
                    Toast.makeText(MainActivity.this, "无法启动", Toast.LENGTH_SHORT).show(); //吐司的用法
                }
            }
    });
3.也可直接在要另一个要打开的类B中,定义一个     公有静态常量字符串
public static final String Action = "com.example.jikexueyuan_learnintent.intent.action.another";
然后在调用时,将activity 名改为类名 B.ACTION,这样比较容易理解。
              即:        startActivity(new Intent(Another.Action));
 
三、Intent 过滤器相关选项:
          在一个APP中新建两个APP(APP1和APP2),在AndroidManiFest.xml 文件的<application>标签中注册 <activity>标签,形如 .类名;在intet-filter中,<action>标签,给这;两个activity 取同一个名字。
通过APP3调用程序  startActivity(new Intent("名字"));结果如下图所示:
会提示您是选择那个APP运行(1仅运行一次2设为默认),若设APP1为默认,要取消,只需在
设置-》应用程序-》APP1-》(应用程序信息中的默认启动)清楚默认设置
        在其中一个APP中(如APP1),在AndroidManiFest.xml 文件的<application>的<intent-filter >中增加data标签,并定义一个协议为APP:        <data android:scheme="app"/>   (去查看其它标签的意义)
回到APP3的调用程序  startActivity(new Intent("名字"));加, Uri.parse("app://")字段。
       即      startActivity(new Intent("名字", Uri.parse("app://")));     (app://后面可添加任意字段湖或者不添加)

在 Android 中 Intent 的概念及应用的更多相关文章

  1. 在Android中Intent的概念及应用(二)——Intent过滤器相关选项

    一.如果多个Activity拥有同一个Intent Action,启动时用同一个Action启动会是什么情况? 如何指定某一个Activity启动? 在多个Activity拥有同一个Intent Ac ...

  2. 在Android中Intent的概念及应用(一)——显示Intent和隐式Intent

    Intent寻找目标组件的两种方式: 显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的. 隐式Intent:通过Intent ...

  3. Android中Intent传值与Bundle传值的区别详解

    Android中Intent传值与Bundle传值的区别详解 举个例子我现在要从A界面跳转到B界面或者C界面   这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两 ...

  4. Android中Intent传递对象的两种方法(Serializable,Parcelable)

    今天要给大家讲一下Android中 Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是 Bundle.putP ...

  5. [转]Android中Intent传递对象的两种方法(Serializable,Parcelable)

    http://blog.csdn.net/xyz_lmn/article/details/5908355 今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种 ...

  6. Android中intent如何传递自定义数据类型

    转载自:http://www.cnblogs.com/GoAhead/archive/2012/07/16/2593868.html 大家好,好久不见,今天要给大家讲一下Android中Intent中 ...

  7. Android高手进阶教程(十七)之---Android中Intent传递对象的两种方法(Serializable,Parcelable)!

    [转][原文] 大家好,好久不见,今天要给大家讲一下Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object); ...

  8. Android中Intent的用法总结

    Intent只在Android中特有,我把它比作一种运载工具,就像飞机一样,会把一些人带到某个地方,而且如果需要的话,还可以找到机上有哪些人员(数据),这就需要另外一些设备来支持(如:Bundle), ...

  9. Android中Intent组件详解

    Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件.Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙 ...

随机推荐

  1. 一句代码美化你的下框之jquery.selectMM修复版(jquery.selectMM v0.9 beta 20141217)

    一句代码美化你的下框之jquery.selectMM修复版(jquery.selectMM v0.9 beta 20141217) 浏览效果: http://www.beyond630.com/jqu ...

  2. poj 3501 Escape from Enemy Territory 预处理+二分+bfs

    传送门 给一个起点一个终点, 给出整个地图的宽和高, 给出n个敌人的坐标. 让你找到一条路径, 这条路径上的点距离所有敌人的距离都最短, 输出最短距离. 首先预处理出来地图上的所有点到敌人的最短距离, ...

  3. Latex beamer

    使用明体(gbsn)和楷体(gkai)两种字型.以下的编程是一开始的宣告,并自动生成第一张封面投影片. \documentclass[cjk]{beamer}\usepackage{CJKutf8}\ ...

  4. java中三种常见内存溢出错误的处理方法

    更多 10   相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的 ...

  5. Snort

    https://www.snort.org/ http://blog.csdn.net/htttw/article/details/7521053 http://www.ibm.com/develop ...

  6. Springmvc+Spring+Hibernate搭建方法及实例

    Springmvc+Spring+Hibernate搭建方法及实例  

  7. c#SocketIO4NetClient访问node js

    提到Node,不能错过的是WebSocket协议.它与Node之间的配合堪称完美,其理由有两条. 1.WebSocket客户端基于时间的编程模型与Node中自定义事件相差无几. 2.WebSocket ...

  8. PHPRPC for PHP

    14的路 PHPRPC for PHP PHPRPC 是一个轻型的.安全的.跨网际的.跨语言的.跨平台的.跨环境的.跨域的.支持复杂对象传输的.支持引用参数传递的.支持内容输出重定向的.支持分级错误处 ...

  9. [置顶] jsp中c标签的使用

    jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...

  10. 关于SQL Server数据表的五中约束

    1.主键约束(PRIMARY KEY) 主键约束可以在表中定义一个主键值,它可以唯一确定表中每一条记录,每个表中只能有一个主键约束(只能有一个主键约束的意思并不是说受主键约束的列只能有一个),并且受主 ...