系統給我們提供的常見的Activity:
//1.撥打電話// 給移動客服10086撥打電話Uri uri = Uri.parse("tel:10086");Intent intent = new Intent(Intent.ACTION_DIAL, uri);startActivity(intent);//2.發送短信// 給10086發送內容為“Hello”的短信Uri uri = Uri.parse("smsto:10086");Intent intent = new Intent(Intent.ACTION_SENDTO, uri);intent.putExtra("sms_body", "Hello");startActivity(intent);//3.發送彩信(相當于發送帶附件的短信)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);//4.打開瀏覽器:// 打開Google主頁Uri uri = Uri.parse("http://www.baidu.com");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//5.發送電子郵件:(閹割了Google服務的沒戲!!!!)// 給someone@domain.com發郵件Uri uri = Uri.parse("mailto:someone@domain.com");Intent intent = new Intent(Intent.ACTION_SENDTO, uri);startActivity(intent);// 給someone@domain.com發郵件發送內容為“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);// 給多人發郵件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);//6.顯示地圖:// 打開Google地圖中國北京位置(北緯39.9,東經116.3)Uri uri = Uri.parse("geo:39.9,116.3");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//7.路徑規劃// 路徑規劃:從北京某地(北緯39.9,東經116.3)到上海某地(北緯31.2,東經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);//8.多媒體播放:Intent intent = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("file:///sdcard/foo.mp3");intent.setDataAndType(uri, "audio/mp3");startActivity(intent);//獲取SD卡下所有音頻文件,然后播放第一首=-= Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//9.打開攝像頭拍照:// 打開拍照程序Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0);// 取出照片數據Bundle extras = intent.getExtras(); Bitmap bitmap = (Bitmap) extras.get("data");//另一種://調用系統相機應用程序,并存儲拍下來的照片Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); time = Calendar.getInstance().getTimeInMillis();intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/tucue", time + ".jpg")));startActivityForResult(intent, ACTIVITY_GET_CAMERA_IMAGE);//10.獲取并剪切圖片// 獲取并剪切圖片Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*");intent.putExtra("crop", "true"); // 開啟剪切intent.putExtra("aspectX", 1); // 剪切的寬高比為1:2intent.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:2intent.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);//11.打開Google Market // 打開Google Market直接進入該程序的詳細頁面Uri uri = Uri.parse("market://details?id=" + "com.demo.app");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//12.進入手機設置界面:// 進入無線網絡設置界面(其它可以舉一反三) Intent intent = new Intent(android.PRovider.Settings.ACTION_WIRELESS_SETTINGS); startActivityForResult(intent, 0);//13.安裝apk:Uri installUri = Uri.fromParts("package", "xxx", null); returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);//14.卸載apk:Uri uri = Uri.fromParts("package", strPackageName, null); Intent it = new Intent(Intent.ACTION_DELETE, uri); startActivity(it); //15.發送附件:Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3"); sendIntent.setType("audio/mp3"); startActivity(Intent.createChooser(it, "Choose Email Client"));//16.進入聯系人頁面:Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(People.CONTENT_URI);startActivity(intent);//17.查看指定聯系人:Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);//info.id聯系人IDIntent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(personUri);startActivity(intent);常用的系統廣播總結:
Intent.ACTION_AIRPLANE_MODE_CHANGED;//關閉或打開飛行模式時的廣播<strong>Intent.ACTION_BATTERY_CHANGED;//充電狀態,或者電池的電量發生變化//電池的充電狀態、電荷級別改變,不能通過組建聲明接收這個廣播,只有通過Context.registerReceiver()注冊<strong>Intent.ACTION_BATTERY_LOW;//表示電池電量低<strong>Intent.ACTION_BATTERY_OKAY;//表示電池電量充足,即從電池電量低變化到飽滿時會發出廣播Intent.ACTION_BOOT_COMPLETED;//在系統啟動完成后,這個動作被廣播一次(只有一次)。Intent.ACTION_CAMERA_BUTTON;//按下照相時的拍照按鍵(硬件按鍵)時發出的廣播Intent.ACTION_CLOSE_SYSTEM_DIALOGS;//當屏幕超時進行鎖屏時,當用戶按下電源按鈕,長按或短按(不管有沒跳出話框),進行鎖屏時,android系統都會廣播此Action消息Intent.ACTION_CONFIGURATION_CHANGED;//設備當前設置被改變時發出的廣播(包括的改變:界面語言,設備方向,等,請參考Configuration.java)Intent.ACTION_DATE_CHANGED;//設備日期發生改變時會發出此廣播Intent.ACTION_DEVICE_STORAGE_LOW;//設備內存不足時發出的廣播,此廣播只能由系統使用,其它APP不可用?Intent.ACTION_DEVICE_STORAGE_OK;//設備內存從不足到充足時發出的廣播,此廣播只能由系統使用,其它APP不可用?Intent.ACTION_DOCK_EVENT;////發出此廣播的地方frameworks/base/services/java/com/android/server/DockObserver.javaIntent.ACTION_EXTERNAL_applicationS_AVAILABLE;////移動APP完成之后,發出的廣播(移動是指:APP2SD)Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE;//正在移動APP時,發出的廣播(移動是指:APP2SD)Intent.ACTION_GTALK_SERVICE_CONNECTED;//Gtalk已建立連接時發出的廣播Intent.ACTION_GTALK_SERVICE_DISCONNECTED;//Gtalk已斷開連接時發出的廣播Intent.ACTION_HEADSET_PLUG;//在耳機口上插入耳機時發出的廣播Intent.ACTION_INPUT_METHOD_CHANGED;//改變輸入法時發出的廣播Intent.ACTION_LOCALE_CHANGED;//設備當前區域設置已更改時發出的廣播Intent.ACTION_MANAGE_PACKAGE_STORAGE;//Intent.ACTION_MEDIA_BAD_REMOVAL;//未正確移除SD卡(正確移除SD卡的方法:設置--SD卡和設備內存--卸載SD卡),但已把SD卡取出來時發出的廣播//廣播:擴展介質(擴展卡)已經從 SD 卡插槽拔出,但是掛載點 (mount point) 還沒解除 (unmount)Intent.ACTION_MEDIA_BUTTON;//按下"Media Button" 按鍵時發出的廣播,假如有"Media Button" 按鍵的話(硬件按鍵)Intent.ACTION_MEDIA_CHECKING;//插入外部儲存裝置,比如SD卡時,系統會檢驗SD卡,此時發出的廣播?Intent.ACTION_MEDIA_EJECT;//已拔掉外部大容量儲存設備發出的廣播(比如SD卡,或移動硬盤),不管有沒有正確卸載都會發出此廣播?//廣播:用戶想要移除擴展介質(拔掉擴展卡)。Intent.ACTION_MEDIA_MOUNTED;//插入SD卡并且已正確安裝(識別)時發出的廣播//廣播:擴展介質被插入,而且已經被掛載。Intent.ACTION_MEDIA_NOFS;//Intent.ACTION_MEDIA_REMOVED;//外部儲存設備已被移除,不管有沒正確卸載,都會發出此廣播?// 廣播:擴展介質被移除。Intent.ACTION_MEDIA_SCANNER_FINISHED;//廣播:已經掃描完介質的一個目錄Intent.ACTION_MEDIA_SCANNER_SCAN_FILE;//Intent.ACTION_MEDIA_SCANNER_STARTED;//廣播:開始掃描介質的一個目錄Intent.ACTION_MEDIA_SHARED;// 廣播:擴展介質的掛載被解除 (unmount),因為它已經作為 USB 大容量存儲被共享。 Intent.ACTION_MEDIA_UNMOUNTABLE;//Intent.ACTION_MEDIA_UNMOUNTED// 廣播:擴展介質存在,但是還沒有被掛載 (mount)。Intent.ACTION_NEW_OUTGOING_CALL;Intent.ACTION_PACKAGE_ADDED;//成功的安裝APK之后//廣播:設備上新安裝了一個應用程序包。//一個新應用包已經安裝在設備上,數據包括包名(最新安裝的包程序不能接收到這個廣播) Intent.ACTION_PACKAGE_CHANGED;//一個已存在的應用程序包已經改變,包括包名Intent.ACTION_PACKAGE_DATA_CLEARED;//清除一個應用程序的數據時發出的廣播(在設置--應用管理--選中某個應用,之后點清除數據時?)//用戶已經清除一個包的數據,包括包名(清除包程序不能接收到這個廣播)Intent.ACTION_PACKAGE_INSTALL;//觸發一個下載并且完成安裝時發出的廣播,比如在電子市場里下載應用?//Intent.ACTION_PACKAGE_REMOVED;//成功的刪除某個APK之后發出的廣播//一個已存在的應用程序包已經從設備上移除,包括包名(正在被安裝的包程序不能接收到這個廣播)Intent.ACTION_PACKAGE_REPLACED;//替換一個現有的安裝包時發出的廣播(不管現在安裝的APP比之前的新還是舊,都會發出此廣播?)Intent.ACTION_PACKAGE_RESTARTED;//用戶重新開始一個包,包的所有進程將被殺死,所有與其聯系的運行時間狀態應該被移除,包括包名(重新開始包程序不能接收到這個廣播)Intent.ACTION_POWER_CONNECTED;//插上外部電源時發出的廣播Intent.ACTION_POWER_DISCONNECTED;//已斷開外部電源連接時發出的廣播Intent.ACTION_PROVIDER_CHANGED;//Intent.ACTION_REBOOT;//重啟設備時的廣播Intent.ACTION_SCREEN_OFF;//屏幕被關閉之后的廣播Intent.ACTION_SCREEN_ON;//屏幕被打開之后的廣播Intent.ACTION_SHUTDOWN;//關閉系統時發出的廣播Intent.ACTION_TIMEZONE_CHANGED;//時區發生改變時發出的廣播Intent.ACTION_TIME_CHANGED;//時間被設置時發出的廣播Intent.ACTION_TIME_TICK;//廣播:當前時間已經變化(正常的時間流逝)。//當前時間改變,每分鐘都發送,不能通過組件聲明來接收,只有通過Context.registerReceiver()方法來注冊Intent.ACTION_UID_REMOVED;//一個用戶ID已經從系統中移除發出的廣播//Intent.ACTION_UMS_CONNECTED;//設備已進入USB大容量儲存狀態時發出的廣播?Intent.ACTION_UMS_DISCONNECTED;//設備已從USB大容量儲存狀態轉為正常狀態時發出的廣播?Intent.ACTION_USER_PRESENT;//Intent.ACTION_WALLPAPER_CHANGED;//設備墻紙已改變時發出的廣播常用系統Intent合集:
//===============================================================//1.撥打電話// 給移動客服10086撥打電話Uri uri = Uri.parse("tel:10086");Intent intent = new Intent(Intent.ACTION_DIAL, uri);startActivity(intent);//===============================================================//2.發送短信// 給10086發送內容為“Hello”的短信Uri uri = Uri.parse("smsto:10086");Intent intent = new Intent(Intent.ACTION_SENDTO, uri);intent.putExtra("sms_body", "Hello");startActivity(intent);//3.發送彩信(相當于發送帶附件的短信)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);//===============================================================//4.打開瀏覽器:// 打開百度主頁Uri uri = Uri.parse("http://www.baidu.com");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//===============================================================//5.發送電子郵件:(閹割了Google服務的沒戲!!!!)// 給someone@domain.com發郵件Uri uri = Uri.parse("mailto:someone@domain.com");Intent intent = new Intent(Intent.ACTION_SENDTO, uri);startActivity(intent);// 給someone@domain.com發郵件發送內容為“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);// 給多人發郵件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);//===============================================================//6.顯示地圖:// 打開Google地圖中國北京位置(北緯39.9,東經116.3)Uri uri = Uri.parse("geo:39.9,116.3");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//===============================================================//7.路徑規劃// 路徑規劃:從北京某地(北緯39.9,東經116.3)到上海某地(北緯31.2,東經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);//===============================================================//8.多媒體播放:Intent intent = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse("file:///sdcard/foo.mp3");intent.setDataAndType(uri, "audio/mp3");startActivity(intent);//獲取SD卡下所有音頻文件,然后播放第一首=-= Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//===============================================================//9.打開攝像頭拍照:// 打開拍照程序Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0);// 取出照片數據Bundle extras = intent.getExtras(); Bitmap bitmap = (Bitmap) extras.get("data");//另一種://調用系統相機應用程序,并存儲拍下來的照片Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); time = Calendar.getInstance().getTimeInMillis();intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/tucue", time + ".jpg")));startActivityForResult(intent, ACTIVITY_GET_CAMERA_IMAGE);//===============================================================//10.獲取并剪切圖片// 獲取并剪切圖片Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*");intent.putExtra("crop", "true"); // 開啟剪切intent.putExtra("aspectX", 1); // 剪切的寬高比為1:2intent.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:2intent.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);//===============================================================//11.打開Google Market // 打開Google Market直接進入該程序的詳細頁面Uri uri = Uri.parse("market://details?id=" + "com.demo.app");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);//===============================================================//12.進入手機設置界面:// 進入無線網絡設置界面(其它可以舉一反三) Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); startActivityForResult(intent, 0);//===============================================================//13.安裝apk:Uri installUri = Uri.fromParts("package", "xxx", null); returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);//===============================================================//14.卸載apk:Uri uri = Uri.fromParts("package", strPackageName, null); Intent it = new Intent(Intent.ACTION_DELETE, uri); startActivity(it); //===============================================================//15.發送附件:Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3"); sendIntent.setType("audio/mp3"); startActivity(Intent.createChooser(it, "Choose Email Client"));//===============================================================//16.進入聯系人頁面:Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(People.CONTENT_URI);startActivity(intent);//===============================================================//17.查看指定聯系人:Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);//info.id聯系人IDIntent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);intent.setData(personUri);startActivity(intent);//===============================================================//18.調用系統編輯添加聯系人(高版本SDK有效):Intent it = newIntent(Intent.ACTION_INSERT_OR_EDIT); it.setType("vnd.android.cursor.item/contact"); //it.setType(Contacts.CONTENT_ITEM_TYPE); it.putExtra("name","myName"); it.putExtra(android.provider.Contacts.Intents.Insert.COMPANY, "organization"); it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL,"email"); it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"homePhone"); it.putExtra(android.provider.Contacts.Intents.Insert.SECONDARY_PHONE,"mobilePhone"); it.putExtra( android.provider.Contacts.Intents.Insert.TERTIARY_PHONE,"workPhone"); it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,"title"); startActivity(it);//===============================================================//19.調用系統編輯添加聯系人(全有效):Intent intent = newIntent(Intent.ACTION_INSERT_OR_EDIT); intent.setType(People.CONTENT_ITEM_TYPE); intent.putExtra(Contacts.Intents.Insert.NAME, "My Name"); intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890"); intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE); intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@com.com"); intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE, Contacts.ContactMethodsColumns.TYPE_WORK); startActivity(intent);//===============================================================//20.打開另一程序 Intent i = new Intent(); ComponentName cn = new ComponentName("com.example.jay.test", "com.example.jay.test.MainActivity"); i.setComponent(cn); i.setAction("android.intent.action.MAIN"); startActivityForResult(i, RESULT_OK);//===============================================================//21.打開錄音機Intent mi = new Intent(Media.RECORD_SOUND_ACTION); startActivity(mi);//===============================================================//22.從google搜索內容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"searchString") startActivity(intent);//===============================================================新聞熱點
疑難解答