从头学Android之机器人的意图之Intent的Action

Intetn的Action属性:

什么是Action?

Action是指Intent是指一个要完成的动作,是一个字符串常量。在Intent类里面定义了大师的Action的常量属性,例如:ACTION_CALL (打电话)  ACTION_EDIT(编辑数据)等等,除此之外,我们可以使用setAction()函数来设置IntnetAction属性,使用getAction()来获得Action

1、  自定义Action:

再看Intent构造函数:

public Intent ()

默认的构造函数

public Intent (Intent o)

通过一个创建好的Intent复制过来

public Intent (String action)

通过指定的动作创建Intent,至于一些常见的动作将在后面指出

public Intent (String action,Uri uri)

通过指定的action和uri创建一个Intent

public Intent (Context packageContext,Class<?> cls)

参数说明:

packageContext:应用程序上下文

cls:接收Intent的目标组件

public Intent (String action,Uri uri,Context packageContext, Class<?> cls)

参数说明:

action:指定的action 例如:ACTION_VIEW

packageContext:应用程序上下文

cls:接收Intent的目标组件

uri:指定的uri

启动Activity

1、  显示启动:必须指明启动的Activity所在的类

// 创建一个Intent  应用程序上下文  目标组件

  1. Intent intent = new Intent(IntentDemo01Activity.this
  2.       ActivityToStart.class); 
  3. //显示启动Activity 
  4. startActivity(intent); 
           Intent intent = new Intent(IntentDemo01Activity.this,
                 ActivityToStart.class);
           //显示启动Activity
           startActivity(intent);

示例代码:

  1. package com.jiahui.activity; 
  2.  
  3. import android.app.Activity; 
  4. import android.content.Intent; 
  5. import android.os.Bundle; 
  6. import android.view.View; 
  7. import android.view.View.OnClickListener; 
  8. import android.widget.Button; 
  9.  
  10. public class IntentDemo01Activity extends Activity { 
  11.   
  12.        private Button myBtn; 
  13.  
  14.        public void onCreate(Bundle savedInstanceState) { 
  15.               super.onCreate(savedInstanceState); 
  16.               setContentView(R.layout.main); 
  17.               myBtn = (Button) findViewById(R.id.myBtn); 
  18.               myBtn.setText("启动ActivtiToStart"); 
  19.               myBtn.setOnClickListener(new OnClickListener() { 
  20.                      public void onClick(View v) {  
  21.                             // 创建一个Intent  应用程序上下文  目标组件 
  22.                             Intent intent = new Intent(IntentDemo01Activity.this,                                        ActivityToStart.class); 
  23.                             //显示启动Activity 
  24.                             startActivity(intent); 
  25.                      } 
  26.               }); 
  27.        } 
package com.jiahui.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class IntentDemo01Activity extends Activity {
 
       private Button myBtn;

       public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);
              myBtn = (Button) findViewById(R.id.myBtn);
              myBtn.setText("启动ActivtiToStart");
              myBtn.setOnClickListener(new OnClickListener() {
                     public void onClick(View v) { 
                            // 创建一个Intent  应用程序上下文  目标组件
                            Intent intent = new Intent(IntentDemo01Activity.this,                                        ActivityToStart.class);
                            //显示启动Activity
                            startActivity(intent);
                     }
              });
       }
}

  1. package com.jiahui.activity; 
  2.  
  3. import android.app.Activity; 
  4. import android.os.Bundle; 
  5. import android.widget.TextView; 
  6. public class ActivityToStart extends Activity { 
  7.        @Override 
  8.        protected void onCreate(Bundle savedInstanceState) { 
  9.               super.onCreate(savedInstanceState); 
  10.               setContentView(R.layout.start); 
  11.               TextView myText=(TextView)findViewById(R.id.startTxt); 
  12.  
  13.               myText.setText("启动的Activity"); 
  14.  
  15.        } 
  16.  
package com.jiahui.activity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class ActivityToStart extends Activity {
       @Override
       protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.start);
              TextView myText=(TextView)findViewById(R.id.startTxt);

              myText.setText("启动的Activity");

       }

}


2、  隐式启动:由Android系统根据Intent的动作和数据来决定启动哪一个Activity,只包含需要执行的动作和所包含的数据,无需指明具体哪一个Activity

  1. package com.jiahui.activity; 
  2.  
  3. import android.app.Activity; 
  4. import android.content.Intent; 
  5. import android.net.Uri; 
  6. import android.os.Bundle; 
  7. import android.view.View; 
  8. import android.view.View.OnClickListener; 
  9. import android.widget.Button; 
  10.   
  11. public class IntentDemo02Activity extends Activity { 
  12.        private Button myBtn; 
  13.        public void onCreate(Bundle savedInstanceState) { 
  14.               super.onCreate(savedInstanceState); 
  15.               setContentView(R.layout.main); 
  16.               myBtn = (Button) findViewById(R.id.myBtn); 
  17.               myBtn.setText("隐式");  
  18.               myBtn.setOnClickListener(new OnClickListener() { 
  19.                      public void onClick(View v) { 
  20.                             // 浏览 
  21.                             // Intent intent = new Intent(Intent.ACTION_VIEW, Uri 
  22.                             // .parse("http://www.goole.com.cn")); 
  23.                             //                           
  24.                             // 显示拨号盘 
  25.                             Intent intent = new Intent(Intent.ACTION_DIAL); 
  26.                            startActivity(intent); 
  27.                      } 
  28.               }); 
  29.        } 
package com.jiahui.activity;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class IntentDemo02Activity extends Activity {
       private Button myBtn;
       public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);
              myBtn = (Button) findViewById(R.id.myBtn);
              myBtn.setText("隐式"); 
              myBtn.setOnClickListener(new OnClickListener() {
                     public void onClick(View v) {
                            // 浏览
                            // Intent intent = new Intent(Intent.ACTION_VIEW, Uri
                            // .parse("http://www.goole.com.cn"));
                            //                          
                            // 显示拨号盘
                            Intent intent = new Intent(Intent.ACTION_DIAL);
                           startActivity(intent);
                     }
              });
       }
}

综合实例1:

[java] view plaincopyprint?

  1. package com.jiahui.activity; 
  2. import android.app.Activity; 
  3. import android.content.Intent; 
  4. import android.net.Uri; 
  5. import android.os.Bundle; 
  6. import android.view.View; 
  7. import android.view.View.OnClickListener; 
  8. import android.widget.Button; 
  9. import android.widget.EditText; 
  10. public class IntentWebViewDemoActivity extends Activity { 
  11.    private Button myBtn; 
  12.    private EditText myText; 
  13.    public void onCreate(Bundle savedInstanceState) { 
  14.       super.onCreate(savedInstanceState); 
  15.       setContentView(R.layout.main); 
  16.       myBtn = (Button) findViewById(R.id.myBtn); 
  17.       myText = (EditText) findViewById(R.id.edtxt01); 
  18.       myBtn.setText("浏览"); 
  19.       myBtn.setOnClickListener(new OnClickListener() { 
  20.         @Override 
  21.         public void onClick(View v) { 
  22.            String uriString = myText.getText().toString(); 
  23.            Intent intent = new Intent(Intent.ACTION_VIEW, Uri 
  24.                  .parse(uriString)); 
  25.  
  26.            startActivity(intent); 
  27.  
  28.         } 
  29.       }); 
  30.  
  31.    } 

 

原文:http://blog.csdn.net/jiahui524

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值