Android Intent 用法全面總結(jié)及實(shí)例代碼
1.調(diào)用撥號(hào)程序
// 給移動(dòng)客服10086撥打電話 Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_DIAL, uri); startActivity(intent);
2. 發(fā)送短信或彩信
// 給10086發(fā)送內(nèi)容為“Hello”的短信 Uri uri = Uri.parse("smsto:10086"); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", "Hello"); startActivity(intent); // 發(fā)送彩信(相當(dāng)于發(fā)送帶附件的短信) Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra("sms_body", "Hello"); Uri uri = Uri.parse("content://media/external/images/media/23"); intent.putExtra(Intent.EXTRA_STREAM, uri); intent.setType("image/png"); startActivity(intent);
3. 通過(guò)瀏覽器打開(kāi)網(wǎng)頁(yè)
// 打開(kāi)Google主頁(yè) Uri uri = Uri.parse("http://www.google.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
4. 發(fā)送電子郵件
// 給someone@domain.com發(fā)郵件 Uri uri = Uri.parse("mailto:someone@domain.com"); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); startActivity(intent); // 給someone@domain.com發(fā)郵件發(fā)送內(nèi)容為“Hello”的郵件 Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_EMAIL, "someone@domain.com"); intent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); intent.putExtra(Intent.EXTRA_TEXT, "Hello"); intent.setType("text/plain"); startActivity(intent); // 給多人發(fā)郵件 Intent intent=new Intent(Intent.ACTION_SEND); String[] tos = {"1@abc.com", "2@abc.com"}; // 收件人 String[] ccs = {"3@abc.com", "4@abc.com"}; // 抄送 String[] bccs = {"5@abc.com", "6@abc.com"}; // 密送 intent.putExtra(Intent.EXTRA_EMAIL, tos); intent.putExtra(Intent.EXTRA_CC, ccs); intent.putExtra(Intent.EXTRA_BCC, bccs); intent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); intent.putExtra(Intent.EXTRA_TEXT, "Hello"); intent.setType("message/rfc822"); startActivity(intent);
5. 顯示地圖與路徑規(guī)劃
// 打開(kāi)Google地圖中國(guó)北京位置(北緯39.9,東經(jīng)116.3) Uri uri = Uri.parse("geo:39.9,116.3"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); // 路徑規(guī)劃:從北京某地(北緯39.9,東經(jīng)116.3)到上海某地(北緯31.2,東經(jīng)121.4) Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=39.9 116.3&daddr=31.2 121.4"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
6. 播放多媒體
Intent intent = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file:///sdcard/foo.mp3"); intent.setDataAndType(uri, "audio/mp3"); startActivity(intent); Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
7. 拍照
// 打開(kāi)拍照程序 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0); // 取出照片數(shù)據(jù) Bundle extras = intent.getExtras(); Bitmap bitmap = (Bitmap) extras.get("data");
8. 獲取并剪切圖片
// 獲取并剪切圖片 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); intent.putExtra("crop", "true"); // 開(kāi)啟剪切 intent.putExtra("aspectX", 1); // 剪切的寬高比為1:2 intent.putExtra("aspectY", 2); intent.putExtra("outputX", 20); // 保存圖片的寬和高 intent.putExtra("outputY", 40); intent.putExtra("output", Uri.fromFile(new File("/mnt/sdcard/temp"))); // 保存路徑 intent.putExtra("outputFormat", "JPEG");// 返回格式 startActivityForResult(intent, 0); // 剪切特定圖片 Intent intent = new Intent("com.android.camera.action.CROP"); intent.setClassName("com.android.camera", "com.android.camera.CropImage"); intent.setData(Uri.fromFile(new File("/mnt/sdcard/temp"))); intent.putExtra("outputX", 1); // 剪切的寬高比為1:2 intent.putExtra("outputY", 2); intent.putExtra("aspectX", 20); // 保存圖片的寬和高 intent.putExtra("aspectY", 40); intent.putExtra("scale", true); intent.putExtra("noFaceDetection", true); intent.putExtra("output", Uri.parse("file:///mnt/sdcard/temp")); startActivityForResult(intent, 0);
9. 打開(kāi)Google Market
// 打開(kāi)Google Market直接進(jìn)入該程序的詳細(xì)頁(yè)面 Uri uri = Uri.parse("market://details?id=" + "com.demo.app"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
10. 安裝和卸載程序
Uri uri = Uri.fromParts("package", "com.demo.app", null); Intent intent = new Intent(Intent.ACTION_DELETE, uri); startActivity(intent);
11. 進(jìn)入設(shè)置界面
// 進(jìn)入無(wú)線網(wǎng)絡(luò)設(shè)置界面(其它可以舉一反三) Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); startActivityForResult(intent, 0);
以上就是對(duì)Android Intent 的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!
- Android開(kāi)發(fā) -- setTag的妙用和The key must be an application-specific resource id 異常
- Android實(shí)現(xiàn)上拉加載更多ListView(PulmListView)
- Android onNewIntent()觸發(fā)機(jī)制及注意事項(xiàng)
- 三行Android代碼實(shí)現(xiàn)白天夜間模式流暢切換
- Android通過(guò)JNI實(shí)現(xiàn)守護(hù)進(jìn)程
- Android仿淘寶商品拖動(dòng)查看詳情及標(biāo)題欄漸變功能
- Android自定義ActionProvider ToolBar實(shí)現(xiàn)Menu小紅點(diǎn)
- Android 安全加密:對(duì)稱加密詳解
- Android setTag方法的key問(wèn)題解決辦法
相關(guān)文章
Android使用IntentService進(jìn)行apk更新示例代碼
這篇文章主要介紹了Android使用IntentService進(jìn)行apk更新示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Android 實(shí)現(xiàn)自定義圓形進(jìn)度條的功能
這篇文章主要介紹了Android 實(shí)現(xiàn)自定義圓形進(jìn)度條的功能的相關(guān)資料,開(kāi)發(fā)Android應(yīng)用的朋友肯定對(duì)自定義View不陌生,很多都有重新寫(xiě)的,這里就對(duì)實(shí)現(xiàn)圓形進(jìn)度條介紹下,需要的朋友可以參考下2016-11-11優(yōu)化SimpleAdapter適配器加載效率的方法
下面小編就為大家?guī)?lái)一篇優(yōu)化SimpleAdapter適配器加載效率的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04Android CameraX結(jié)合LibYUV和GPUImage自定義相機(jī)濾鏡
之前使用Camera實(shí)現(xiàn)了一個(gè)自定義相機(jī)濾鏡(Android自定義相機(jī)濾鏡 ),但是運(yùn)行起來(lái)有點(diǎn)卡頓,這次用Camerax來(lái)實(shí)現(xiàn)一樣的效果發(fā)現(xiàn)很流暢,在此記錄一下,也希望能幫到有需要的同學(xué)2021-12-12Android編程實(shí)現(xiàn)播放視頻的方法示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)播放視頻的方法,結(jié)合具體實(shí)例形式分析了Android使用VideoView類播放視頻的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-08-08Android Activity之間相互調(diào)用與傳遞參數(shù)的原理與用法分析
這篇文章主要介紹了Android Activity之間相互調(diào)用與傳遞參數(shù)的原理與用法,較為詳細(xì)的分析了Android組件的構(gòu)成以及Activity的創(chuàng)建、調(diào)用、切換等相關(guān)操作技巧,需要的朋友可以參考下2016-08-08