- 1、本文档共139页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
按下计算按钮
09
Intent 的使用
Intent 是由一個動作和內容組成,相當於一串的網址,可以開啟指定的網頁並傳遞資料,Intent 就是執行各網頁間的切換。Intent 除了執行 Android 內建的動作之外,也可以執行自訂的 Activity。
AndroidManifest.xml 檔案
認識 Intent
瀏覽網站
呼叫撥號按鈕
撥打電話
執行自訂的 Activity
附帶資料的 Intent
認識 AndroidManifest.xml
位在專案根目錄的AndroidManifest.xml檔案是一個十分重要的檔案,提供Android作業系統所有應用程式的基本資訊,一個功能清單。
不同於Windows作業系統,Android作業系統需要透過AndroidManifest.xml檔案先認識這個應用程式,才會知道如何執行此應用程式。
9.1 認識 AndroidManifest.xml
例如以 Hello 專案所產生的 AndroidManifest.xml 檔內容為:
套件名稱和版本資訊
在 AndroidManifest.xml 檔案中設定套件名稱和版本資訊的內容如下:
application 標籤
內部控管的版本號碼
對外發佈的版本名稱
套件名稱
最低需要的API層級
activity 標籤
intent-filter 標籤
指定的Activity為主要啟動點
應用程式安裝完畢後會自動啟動
認識 Intent
意圖(Intents)是一個啟動其他Android活動、服務和廣播接收器的系統訊息,一種抽象描述希望執行的操作,可以告訴Android作業系統我想作什麼?執行什麼動作?例如:啟動其他活動、告訴指定服務可以啟動或停止與送出廣播。
Android應用程式送出意圖的訊息需要經過Android作業系統來判斷接收者是誰,它是使用意圖篩選(Intent Filters)找出有能力處理的活動或內建應用程式,然後才將訊息送給接收者,如右圖所示:
Intent的種類
明確意圖(Explicit Intent):指明目標活動接收者名稱,即明確指明是送給誰,通常是使用在連接同一個應用程式內部的多個活動,前述啟動活動2是明確意圖。
隱含意圖(Implicit Intent):意圖只有指出執行的動作、型態和目錄,並沒有目標接收者的確實名稱,Android作業系統任何可以完成此工作的應用程式都可以是接收者,即前述瀏覽網頁就是隱含意圖。
9.2 認識 Intent
Intent 定義的語法格式如下:
9.2.1 使用 Intent 瀏覽網站
例如:連結「.tw」網站。
啟動內建Google地圖
Intent i = new Intent(Intent.ACTION_VIEW,Uri.parse(
geo:25.04692437135412,121.5161783959678));
9.2.2 使用 Intent 呼叫撥號按鈕與撥打電話
呼叫撥號按鈕
例如:我們要在程式中利用 ACTION_DIAL 呼叫撥號按鈕。
撥打電話
例如:我們要在程式中利用 ACTION_CALL 撥打電話。
雖 然 ACTION_CALL 可 以 撥 打 電 話, 但 必 須 在 AndroidManifest.xml 檔案設定撥打電話的權限,否則會出現「應用程式異常終止」的錯誤。請在 AndroidManifest.xml 中加入下列粗體字的程式碼來賦予權限,這段程式必須加在 application 標籤外面。
9.2.3 利用Intent執行Activity
最簡單的方式是 startActivity() 因為它不必傳回返回值,其格式為:
9.2.4 範例:瀏覽網站、呼叫撥號按鈕、撥打電話按鈕
在這個範例中以 Intent.ACTION_VIEW 瀏覽網站、Intent.ACTION_DIAL 呼叫撥號按鈕、Intent.ACTION_CALL 撥打電話,並以 startActivity() 執行 Intent。
Intent動作類型
動作類型
說明
ACTION_VIEW
顯示資料給使用者檢視
ACTION_EDIT
顯示資料給使用者編輯
ACTION_DIAL
顯示撥號
ACTION_CALL
打電話
ACTION_SENDTO
寄送電子郵件
ACTION_WEB_SEARCH
Web搜尋
ACTION_MAIN
啟動如同是程式進入點的主程式
9.3 執行自訂的 Activity
9.3.1 Intent 執行自訂 Activity 的方法
主程式類別切換到自訂類別
Intent 執行自 Activity 的流程
我們之前製作的專案都是只有一個 Activity,如果要讓 Intent 切換到另外一個自訂的 Activity,就必須在專案中新增
文档评论(0)