現在更進一步: 如果有兩個Activity, 那這兩個Activity之間要如何轉換呢?
Activity 之間的轉換必須用到 Intent* 這個元件.
我們將 Intent 觸發 Activity 的方式分為 Explicit 跟 Implicit 這兩種:
Explicit intent 是明確指名要開啟哪個 Activity, 例如:
Intent intent = new Intent(this, ActivityB.class);
intent.putExtra("Value", "This value for ActivityABC");
startActivity(intent);
Implicit intent 是說明要做哪個動作, 但未說明要用哪個Activity開啟, 例如:
開啓網頁:
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.google.com"));
startActivity(intent);
打電話: Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:047777777”));
startActivity(intent);
使用地圖: String uri = "geo:"+ latitude + "," + longitude + "?q=my+street+address";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(uri)));
詳細解說請見影音檔:
今日範例: 原始檔
* Intent 是 Activity, Service, BroadcastReceiver 這三大Android 功能的觸發器(Service 跟 BroadcastReceiver 在稍後的課程裡會提到),
沒有留言:
張貼留言