你的位置:首页 > 操作系统

[操作系统]Anroid之意图的使用


inten常见动作:MAIN_ACTION(主视图)、 VIEW_ACTION(查看)、 EDIT_ACTION(修改)、 PICK_ACTION 、GET_CONTENT_ACTION(获取内容)、  DIAL_ACTION 、CALL_ACTION 、SENDTO_ACTION、 ANSWER_ACTION、 INSERT_ACTION、 DELETE_ACTION 、RUN_ACTION 、LOGIN_ACTION 、CLEAR_CREDENTIALS_ACTION、 SYNC_ACTION、 PICK_ACTIVITY_ACTION、 WEB_SEARCH_ACTION等,此外也可以自己定义动作

执行动作操作数据:

1.action和data

2.category(类别),被执行动作的附加信息。例如 LAUNCHER_CATEGORY 表示Intent 的接受者应该在Launcher中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示当前的Intent是一系列的可选动作中的一个,这些动作可以在同一块数据上执行。

3.type(数据类型),显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。

4.component(组件),指定Intent的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。

5.extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。

Demo:

package com.example.homekey;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btnhome=(Button)findViewById(R.id.btnhome);btnhome.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//意图Intent intent=new Intent();//设置意图动作intent.setAction(intent.ACTION_MAIN);//设置类别intent.addCategory(intent.CATEGORY_HOME);//执行意图startActivity(intent);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

执行效果图: