Android 中的 Intent 非常好用,整個 Android 的架構最大的特色可以說就建構在 Intent 上,您可以利用類似 URL 的 Intent 啟動任何一個程式的任何一個畫面。為了讓大家能更容易的使用並交流 Intent,甚至有人發起了一個 OpenIntents 組織,讓全世界的可以為自己的應用程式註冊 Intent。可以在 Intent 中,指定要應用程式執行的動作 (view, edit, dial),以及應用程式執行該動作時,所需要的資料。都指定好後,只要透過 startActivity(),Android 系統會自動尋找,最符合你指定要求的應用程式,並喚起執行該應用程式。
1.設計layout
2.撰寫程式
// 設定元件回呼事件
// 顯示網頁
private Button.OnClickListener _OnbuttonUrlClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonUrlClick");
Uri uri=Uri.parse("http://www.google.com.tw");
Intent i=new Intent(Intent.ACTION_VIEW,uri);
startActivity(i);
}
};
// 寄送簡訊
private Button.OnClickListener _OnbuttonEmailClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonEmailClick");
Uri uri=Uri.parse("mailto:markjo@itrc.org.tw");
Intent i=new Intent(Intent.ACTION_SENDTO,uri);
startActivity(i);
}
};
// 撥打電話
private Button.OnClickListener _OnbuttonTelClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonTelClick");
Uri uri=Uri.parse("tel:0933422567");
Intent i=new Intent(Intent.ACTION_VIEW,uri);
startActivity(i);
}
};
// 使用相機
private Button.OnClickListener _OnbuttonCameraClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonCameraClick");
Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(i);
}
};
// 啟用地圖
private Button.OnClickListener _OnbuttonGMapClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonGMapClick");
Uri uri = Uri.parse("geo:25.048,121.532");
Intent i = new Intent(Intent.ACTION_VIEW, uri);
startActivity(i);
}
};
// 開啟影像
private Button.OnClickListener _OnbuttonImageClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonImageClick");
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(i, 0);
}
};
// 開啟聯絡人
private Button.OnClickListener _OnbuttonPeopleClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonPeopleClick");
Intent i = new Intent(Intent.ACTION_VIEW, People.CONTENT_URI);
startActivity(i);
}
};
// 開啟 Android Market
private Button.OnClickListener _OnbuttonMarketClick = new Button.OnClickListener(){
public void onClick(View v){
if (D) Log.d(TAG, "_OnbuttonMarketClick");
// 尋找某個應用程式
Uri uri = Uri.parse("market://search?q=dropbox");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
}
};
3.測試結果
app主介面
開啟網頁
撥打電話
至於相機就要到實機上動作,模擬器無法實現相機!
沒有留言:
張貼留言
請留言~一起討論吧~