当前位置:   article > 正文

15、从头学Android之机器人的意图之Intent的Action_机器人系统action概念举例

机器人系统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);

 

示例代码:

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

 

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


 

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

  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. public class IntentDemo02Activity extends Activity {
  10. private Button myBtn;
  11. public void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. myBtn = (Button) findViewById(R.id.myBtn);
  15. myBtn.setText("隐式");
  16. myBtn.setOnClickListener(new OnClickListener() {
  17. public void onClick(View v) {
  18. // 浏览
  19. // Intent intent = new Intent(Intent.ACTION_VIEW, Uri
  20. // .parse("http://www.goole.com.cn"));
  21. //
  22. // 显示拨号盘
  23. Intent intent = new Intent(Intent.ACTION_DIAL);
  24. startActivity(intent);
  25. }
  26. });
  27. }
  28. }

综合实例1:

  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. startActivity(intent);
  26. }
  27. });
  28. }
  29. }

如需转载引用请注明出处: http://blog.csdn.net/jiahui524
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/235978
推荐阅读
相关标签
  

闽ICP备14008679号