zoukankan      html  css  js  c++  java
  • Intent应用

    1. Intent用法

      1.1启动一个特定的Activity

      Intent intent=new Intent(CurrentActivity.this,OtherActivity.class);

      startActivity(intent);

      1.2启动一个未指明的Activity

      Intent inter=new Intent(Intent.ACTION_DIAL,Uri.parse(“tel:115-1345”));

      startActivity(intent);

      1.3处理一个Activity的返回值

      Public void onCreate(Bundle saveInstanceState){

      super.onCreate(savedInstanceState);

      listener1=new OnClickListener(){

      public void onClick(View v){

      Intent intent1=new Intent(ActivityMain.this,Activity1.class);

      Intent1.putExtra(“activityMain”,”数据来自activityMain”);

      startActivityForResult(intent1,REQUEST_CODE);

      }

      };

      Listener2=new OnClickListener(){

      public void onClick(View v){

      setTitle(“这是在ActivityMain”);

      Intent intent2=new Intent(ActivityMain.this,Activity2.class);

      startActivity(intent2);

      }

      };

      setContentView(R.layout.main);

      button1=(Button)findViewById(R.id.button1);

      button1.setOnClickListener(listener1);

      button2=(Button)findViewById(R.id.button2);

      button2.setOnClickListener(listener2);

      setTitle(“ActivityMain”);

      }

      @Override

      Protected void onActivityResult(int requestCode,int resultCode,Intent data){

      If(requestCode==REQUEST_CODE){

      If(resultCode==RESULT_CANCELED)

      setTitle(“取消”);

      else if(resultCode==RESULT_OK){

      String temp=null;

      Bundle extras=data.getExtras();

      If(extras!=null){

      Temp=extras.getString(“store”);

      }

      setTitle(temp);

      }

      }

      }

    2.  

      Intent应用举例

      Activity01.java

      public class Activity01 extends Activity

      {

      public void onCreate(Bundle savedInstanceState)

      {

      super.onCreate(savedInstanceState);

      /* 设置显示main.xml布局 */

      setContentView(R.layout.main);

      /* findViewById(R.id.button1)取得布局main.xml中的button1 */

      Button button = (Button) findViewById(R.id.button1);

      /* 监听button的事件信息 */

      button.setOnClickListener(new Button.OnClickListener() {

      public void onClick(View v)

      {

      /* 新建一个Intent对象 */

      Intent intent = new Intent();

      /* 指定intent要启动的类 */

      intent.setClass(Activity01.this, Activity02.class);

      /* 启动一个新的Activity */

      startActivity(intent);

      /* 关闭当前的Activity */

      Activity01.this.finish();

      }

      });

      }

      }

      Activity02.java

      public class Activity02 extends Activity

      {

      public void onCreate(Bundle savedInstanceState)

      {

      super.onCreate(savedInstanceState);

      /* 设置显示main2.xml布局 */

      setContentView(R.layout.main2);

      /* findViewById(R.id.button2)取得布局main.xml中的button2 */

      Button button = (Button) findViewById(R.id.button2);

      /* 监听button的事件信息 */

      button.setOnClickListener(new Button.OnClickListener() {

      public void onClick(View v)

      {

      /* 新建一个Intent对象 */

      Intent intent = new Intent();

      /* 指定intent要启动的类 */

      intent.setClass(Activity02.this, Activity01.class);

      /* 启动一个新的Activity */

      startActivity(intent);

      /* 关闭当前的Activity */

      Activity02.this.finish();

      }

      });

      }

      }

    3.  

      Android系统自带的Action介绍

      3.1ACTION_MAIN

      Android.intent.action.MAIN,在每个AndroidManifest.xml问洞中都能看到,标记当前的Activity作为一个程序的入口。

      3.2ACTION_VIEW

      将数据显示给用户

      3.3ACTION_DIAL

      用于描述给用户打电话的动作

      3.4ACTION_PICK

      从特定的一组数据中进行选择数据操作

      3.5ACTION_DEIT

      编辑特定的数据

      3.6ACTION_DELETE

      删除特定的数据

    4.  

      与动作Action相关联的数据Data介绍

      VIEW_ACTION content://contacts/1显示标示符为1的联系人的详细信息

      EDIT_ACTION content://contacts/1编辑标示符为1的联系人的详细信息

      VIEW_ACTION content://contacts/显示所有联系人列表

      PICK_ACTION content://contacts/显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父Activity

    5.  

      Intent中其他属性介绍

      类别category:它为执行动作的附加信息

      数据类型type:显式指定Intent的目标组件的类名称。

      组件component:指定Intent的目标组件的类名称

      附加信息extras:是其他所有附加信息的集合

    6.  

      Android解析Intent实现

      6.1直接Intent:指定了component属性的Intent或者setClass

      6.2间接Intent:没有指定comonent属性的Intent。

      6.3如果Intent指明了action,则目标组件的IntentFilter的action列表中就必须包含有这个action,否则不匹配

      6.4如果Intent没有提供type,系统将从data中得到数据类型

      6.5如果Intent中的数据不是具体内容而是URI形式的话,则将根据Intent中数据的scheme进行匹配

      6.6如果Intent指定了一个或多个category,这些类别必须全部出现在组件的类别列表中

  • 相关阅读:
    Delphi TCXTreeList的一些操作
    Authentication failure. Retrying 彻底解决vagrant up时警告
    Linux查看mysql 安装路径和运行路径
    和重复搭建开发环境说 Bye Bye 之Vagrant
    怎样查看MySql数据库物理文件存放位置
    10分钟彻底理解Redis持久化和主从复制
    胡子决定编程语言运势
    总结: asp.net页面间数据传递(转)
    利用System.IO中的Directory类对目录进行基本操作
    SQL中读出表中字段
  • 原文地址:https://www.cnblogs.com/ll564345575/p/3930301.html
Copyright © 2011-2022 走看看