精通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);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
轉載于:https://www.cnblogs.com/aosting/p/3477403.html
總結
以上是生活随笔為你收集整理的精通Android开发 1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人寿保险分类 人寿保险的分类有哪些
- 下一篇: 住房公积金个人怎么网上提取