当前位置:操作系统 > 安卓/Android >>

从头学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  应用程序上下文  目标组件

print?

Intent intent = new Intent(IntentDemo01Activity.this, 

      ActivityToStart.class); 

//显示启动Activity 

startActivity(intent); 

 

示例代码:

print?

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); 

                     } 

              }); 

       } 

 

print?

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

print?

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")); 

              &

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,