码迷,mamicode.com
首页 > 其他好文 > 详细

Acitivity之Intent调用方法

时间:2016-03-29 00:51:05      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:

用Intent可以实现两个页面(Activity)之间的切换。当然,用Intent还可以实现启动一个Service,和发起一个广播Broadcasts。

①名词解释:
汉语意思是:意图,目的; 意思,含义。即当一个Activity,Service或Broadcasts要表达一种行动的意图时,用Intent做一个他们之间通信的中介。Intent是一种运行时绑定(runtime binding)机制。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。

技术分享

 

 ②简单实现Activity之间的切换。

/*MainActivity.java*/

 button1.setOnClickListener(new OnClickListener() {            
              @Override
              public void onClick(View v) {
                  //创建一个Intent对象
                  Intent intent = new Intent();
                  intent.setClass(MainActivity.this,OtherActivity.class); //单机按钮,从当前所在的MainActivity跳转到OtherActivity             
                  startActivity(intent);       //启动不带传值的Intent对象

这样跳转存在的问题:得益于Intent是运行时绑定(runtime binding)机制,两个Acitivity之间的跳转是不“绑定”的。这样存在一定的好处,但是在进入另一个页面(Activity)之后,需要按后退键返回上一个页面。这就是说:如果整个应用使用了很多Intent这样的跳转机制,要返回首页是很麻烦的。

③”Intent“比你想象的更强大

Intent有以下几个属性:

动作(Action),数据(Data),分类(Category),类型(Type),组件(Compent)以及扩展信(Extra)。其中最常用的是Action属性和Data属性。

举个栗子

btn01.setOnClickListener(new OnClickListener() {  
            @Override 
            public void onClick(View v) {     
                Intent intent = new Intent();                 
                intent.setAction(Intent.ACTION_GET_CONTENT);// 设置Intent Action属性                  
                intent.setType("vnd.android.cursor.item/phone");// 设置Intent Type 属性   
                                                                //主要是获取通讯录的内容  
                startActivity(intent); // 启动Activity  
            }  
        });          

以上方法实现了:点击按钮btn01后打开手机自带通讯录,选择联系人的界面。

关于Intent用法的其他详细解释参看博文:http://liangruijun.blog.51cto.com/3061169/634411

对Android中vnd.android.cursor.item/的解释参看:http://blog.sina.com.cn/s/blog_746189210102vzvr.html

 

 

Acitivity之Intent调用方法

标签:

原文地址:http://www.cnblogs.com/chenxiangdong/p/5331204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!