精通Android开发 1

 

intent 概括 

Android引入了一个intent的概念来调用组件。

Android的活动组件包括活动(UI组件),服务,广播,和contentProvider

简单层面上将,intent就是告诉你android要执行的一种操作。

 一般来说我们经常的用法是这样的

intent = new Intent(this,Install.class); 
startActivity(intent);

this表示这个activity的上下文,install.class表示要跳转的activity。当然了,这个activity必须也要在Androidmanifast

今天看到书上的另外一种用法:

 String actionName= "com.androidbook.intent.action.ShowBasicView";
           Intent intent = new Intent(actionName);
           activity.startActivity(intent);
    操作名字一般约定为<包名>.intent.action

Android中经常使用intent的地方:

打开浏览器,

呼叫电话号码

打开地图

 1 //打开一个浏览器,手机有多的浏览器的话,弹出选择框
 2     public static void invokeWebBrowser(Activity activity)
 3     {
 4         Intent intent = new Intent(Intent.ACTION_VIEW);
 5         intent.setData(Uri.parse("http://www.google.com"));
 6         activity.startActivity(intent);
 7     }
 8     
 9     public static void invokeWebSearch(Activity activity)
10     {
11         Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
12         intent.setData(Uri.parse("http://www.google.com"));
13         activity.startActivity(intent);
14     }
15     public static void dial(Activity activity)
16     {
17         Intent intent = new Intent(Intent.ACTION_DIAL);
18         activity.startActivity(intent);
19     }
20     
21     public static void call(Activity activity)
22     {
23         Intent intent = new Intent(Intent.ACTION_CALL);
24         intent.setData(Uri.parse("tel:904-905-5646"));
25         activity.startActivity(intent);
26     }
27     public static void showMapAtLatLong(Activity activity) 
28     {
29         Intent intent = new Intent(Intent.ACTION_VIEW);
30         //geo:lat,long?z=zoomlevel&q=question-string
31         intent.setData(Uri.parse("geo:0,0?z=4&q=business+near+city"));
32         activity.startActivity(intent);
33     }

 

intent的组成

uri

目前我们只是介绍了简单的intent。在呼叫电话的intent中,还要接受一个名为Data的参数,该参数指向一个uri。

 这个uri指向了所拨的电话号码

 

使用extra信息

extra数据以key-value。

getExtras获取intent中包涵的bundle。

putExtras检查intent中是否包涵有包,有的话,加上,没有的话,创建。

还可以添加一些复制的extra数据。

5 intent的类别:

Android会寻找类别被标记为Category_launcher的活动。然后跳出这些活动名和图标。

安全功能软件。

6 使用action_pick

目前我们都是使用intent来操作或者调用另外的一个活动,没有返回结果,那么我们现在使用action_pick试试。

action_pick的理念是启动一个活动来显示列表,允许用户从中选择一个。用户挑选了一会,活动

应该向调用方法返回挑选的uRi。

 

startActivity()无法返回结果,因它是在一个独立线程中以模拟对话框的形式打开新的活动,将主线程留给主要的事件。

使用startActivityForRest().

get_content

对于action_get_content,你向Android表明你需要一个具有特定MIME类型的项。

挂起intent

http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html

posted @ 2013-12-16 21:01  aosting  阅读(257)  评论(0编辑  收藏  举报