Download presentation
Presentation is loading. Please wait.
1
用Intent 啟動手機內的應用程式 靜宜大學資管系 楊子青
2
專案:IntentApp (選擇Basic Activity)
3
1. 設計Menu
4
menu_main.xml
5
修改menu_main.xml <menu xmlns:android=" xmlns:app=" xmlns:tools=" tools:context=".MainActivity"> <item android:title="靜宜大學首頁"></item> <item android:title="打電話給子青老師"></item> <item android:title="寄信給子青老師"></item> <item android:title="搜尋楊子青"></item> <item android:title="根據靜宜大學GPS座標,顯示地圖"></item> </menu>
6
2. Implicit (暗示) Intents
7
使用Intent啟動程式 setAction():The general action to be performed
setData():The data to operate on, expressed as a Uri.
8
3.開啟瀏覽器 public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId(); Intent it = new Intent(); Uri u; switch (id){ case R.id.web: it.setAction(Intent.ACTION_VIEW); u = Uri.parse(" it.setData(u); startActivity(it); break; } return super.onOptionsItemSelected(item);
9
4.撥電話 case R.id.tel: it.setAction(Intent.ACTION_VIEW);
it.setAction(Intent.ACTION_DIAL); 效果相同 case R.id.tel: it.setAction(Intent.ACTION_VIEW); u = Uri.parse("tel: ,18110"); it.setData(u); startActivity(it); break; 打電話到子青老師研究室
10
直接撥出電話,不停在電話簿 case R.id.tel: it.setAction(Intent.ACTION_CALL);
u = Uri.parse("tel: ,18110"); it.setData(u); startActivity(it); break; 撥打電話屬於手機底層的服務,牽涉使用者隱私及通話費用, 必須取得相關權限,因此需於AndroidManifest.xml設定: <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
11
5.寄發電子郵件 case R.id.email: it.setAction(Intent.ACTION_VIEW);
u = it.setData(u); startActivity(it); break;
12
電子郵件格式
13
利用putExtra傳遞相關參數
14
加入副本、信件標題及內容 case R.id.email: it.setAction(Intent.ACTION_VIEW);
u = it.setData(u); it.putExtra(Intent.EXTRA_CC, new String[] it.putExtra(Intent.EXTRA_SUBJECT, "行動應用軟體開發課程"); it.putExtra(Intent.EXTRA_TEXT, "我是修您課程的學生\n詢問App期末專案,Thanks!"); startActivity(it); break;
15
6.搜尋Web資料 case R.id.search: it.setAction(Intent.ACTION_WEB_SEARCH);
it.putExtra(SearchManager.QUERY, "楊子青"); startActivity(it); break;
16
7.利用經緯度查地圖 先到GoogleMap,輸入關鍵字(例如:靜宜大學),查詢經緯度
17
利用經緯度查地圖 case R.id.map: it.setAction(Intent.ACTION_VIEW);
u = Uri.parse("geo: , "); it.setData(u); startActivity(it); break;
18
Google Map其他常用查詢 查詢靜宜附近店家,例如餐廳: 用地址查詢,例如: 用地名查詢,例如「高美濕地」:
u = Uri.parse("geo: , ?q=restaurants"); 還可輸入如:書店, 便利商店,電影院, 加油站,公車站… 用地址查詢,例如: u = Uri.parse("geo:0,0?q=台中市沙鹿區台灣大道200號"); 用地名查詢,例如「高美濕地」: u = Uri.parse("geo:0,0?q=高美濕地"); 從目前位置導航至某地,例如要到「靜宜大學」 u = Uri.parse("google.navigation:q=靜宜大學"); 步行:&mode=w 開車:&mode=d
Similar presentations