一、每个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. jquery easyui 弹出消息框

    <html> <head> <!-- 导入easyui插件的js和css样式; --> <link rel="stylesheet" ty ...

  2. 2016年12月3日 星期六 --出埃及记 Exodus 20:24

    2016年12月3日 星期六 --出埃及记 Exodus 20:24 "`Make an altar of earth for me and sacrifice on it your bur ...

  3. 2016年10月19日 星期三 --出埃及记 Exodus 19:3

    2016年10月19日 星期三 --出埃及记 Exodus 19:3 Then Moses went up to God, and the LORD called to him from the mo ...

  4. MVCAction接受与返回

    //Action方法接受有:如下四种: //Test(int id) 接受url路由中配置的同名参数 //通过request.Form/request.querystring 接受(get) //Te ...

  5. FlexCell控件的使用

    private void grid1_GetCellText(object Sender, FlexCell.Grid.GetCellTextEventArgs e) { // 要使用虚表,可以在Gr ...

  6. BZOJ 2668 交换棋子(费用流)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2668 题意:有一个n行m列的黑白棋盘,你每次可以交换两个相邻格子中的棋子,最终达到目标状 ...

  7. pch和info.plist初探

    整理下之前的关于pch和info.plist文件,一下文件部分内容是从传智博客的课件里截取        

  8. Cheatsheet: 2013 09.22 ~ 09.30

    Other Python basics summary Another article about big O notation Mobile Getting Started with PhoneGa ...

  9. CP,SCP 命令(包括windows与linux用xshell互传)

    linux之cp/scp命令+scp命令详解 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... direct ...

  10. SQL生成包含年月日的流水号

    --************************************************************************************************** ...