1. 程式人生 > >Android作業系統自帶功能部分介紹

Android作業系統自帶功能部分介紹

需要通過intent(意圖)物件,呼叫android系統自帶功能:

例如:呼叫android自帶撥號器

Intent intent = new Intent();
intent.setAction("android.intent.action.CALL");
intent.setData(Uri.parse("tel:" + phoneNumber));
startActivity(intent);

更多功能如下:

1. 從瀏覽器搜尋內容

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_WEB_SEARCH); 
intent.putExtra(SearchManager.QUERY,"searchString") 
startActivity(intent);

2. 瀏覽網頁

Uri uri = Uri.parse("http://www.baidu.com"); 
Intent intent = new Intent(Intent.ACTION_VIEW,uri); 
startActivity(intent );

3. 顯示地圖 

Uri uri = Uri.parse("geo:38.899533,-77.036476"); 
Intent intent= new Intent(Intent.Action_VIEW,uri); 
startActivity(intent); 

4. 路徑規劃 

Uri uri = Uri.parse("http://maps.google.com/maps?f=dsaddr=startLat startLng&daddr=endLat endLng&hl=en"); 
Intent intent= new Intent(Intent.ACTION_VIEW,uri); 
startActivity(intent); 

5. 撥打電話 

Uri uri = Uri.parse("tel:xxxxxx"); 
Intent intent= new Intent(Intent.ACTION_DIAL, uri); 
startActivity(intent); 

6. 呼叫發簡訊的程式 

Intent intent= new Intent(Intent.ACTION_VIEW); 
intent.putExtra("sms_body", "The SMS text"); 
intent.setType("vnd.android-dir/mms-sms"); 
startActivity(intent); 

7. 傳送簡訊 

Uri uri = Uri.parse("smsto:0800000123"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
it.putExtra("sms_body", "The SMS text"); 
startActivity(it); 
String body="this is sms demo"; 
Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null)); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true); 
startActivity(mmsintent); 

8.傳送彩信 

Uri uri = Uri.parse("content://media/external/images/media/23"); 
Intent it = new Intent(Intent.ACTION_SEND); 
it.putExtra("sms_body", "some text"); 
it.putExtra(Intent.EXTRA_STREAM, uri); 
it.setType("image/png"); 
startActivity(it); 
StringBuilder sb = new StringBuilder(); 
sb.append("file://"); 
sb.append(fd.getAbsoluteFile()); 
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null)); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString()); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent); 
startActivity(intent); 

9.傳送Email 

Uri uri = Uri.parse("mailto:[email protected]"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
startActivity(it); 

//傳送文字型
Intent it = new Intent(Intent.ACTION_SEND); 
it.putExtra(Intent.EXTRA_EMAIL, "[email protected]"); 
it.putExtra(Intent.EXTRA_TEXT, "The email body text"); 
it.setType("text/plain"); 
startActivity(Intent.createChooser(it, "Choose Email Client")); 
//傳送message、
Intent it=new Intent(Intent.ACTION_SEND); 
String[] tos={"[email protected]"}; 
String[] ccs={"[email protected]"}; 
it.putExtra(Intent.EXTRA_EMAIL, tos); 
it.putExtra(Intent.EXTRA_CC, ccs); 
it.putExtra(Intent.EXTRA_TEXT, "The email body text"); 
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); 
it.setType("message/rfc822"); 
startActivity(Intent.createChooser(it, "Choose Email Client")); 
//傳送音訊型
Intent it = new Intent(Intent.ACTION_SEND); 
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text"); 
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3"); 
sendIntent.setType("audio/mp3"); 
startActivity(Intent.createChooser(it, "Choose Email Client")); 

10.播放多媒體 

Intent it = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("file:///sdcard/song.mp3"); 
it.setDataAndType(uri, "audio/mp3"); 
startActivity(it); 
Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1"); 
Intent it = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(it); 

11.uninstall apk 

Uri uri = Uri.fromParts("package", strPackageName, null); 
Intent it = new Intent(Intent.ACTION_DELETE, uri); 
startActivity(it); 

12.install apk 

Uri installUri = Uri.fromParts("package", "xxx", null); 
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri); 

13. 開啟照相機 

Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null); 
this.sendBroadcast(i); 

long dateTaken = System.currentTimeMillis(); 
String name = createName(dateTaken) + ".jpg"; 
fileName = folder + name; 
ContentValues values = new ContentValues(); 
values.put(Images.Media.TITLE, fileName); 
values.put("_data", fileName); 
values.put(Images.Media.PICASA_ID, fileName); 
values.put(Images.Media.DISPLAY_NAME, fileName); 
values.put(Images.Media.DESCRIPTION, fileName); 
values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName); 
Uri photoUri = getContentResolver().insert( 
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 

Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); 
startActivityForResult(inttPhoto, 10); 

14.從gallery選取圖片 

Intent i = new Intent(); 
i.setType("image/*"); 
i.setAction(Intent.ACTION_GET_CONTENT); 
startActivityForResult(i, 11); 

15. 開啟錄音機 

Intent mi = new Intent(Media.RECORD_SOUND_ACTION); 
startActivity(mi); 

16.顯示應用詳細列表 

Uri uri = Uri.parse("market://details?id=app_id"); 
//Uri uri = Uri.parse("market://details?id="); 
Intent it = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(it); 

17.尋找應用 

Uri uri = Uri.parse("market://search?q=pname:pkg_name"); 
Intent it = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(it); 

18.開啟聯絡人列表 

<1> 
Intent i = new Intent(); 
i.setAction(Intent.ACTION_GET_CONTENT); 
i.setType("vnd.android.cursor.item/phone"); 
startActivityForResult(i, REQUEST_TEXT); 
<2> 
Uri uri = Uri.parse("content://contacts/people"); 
Intent it = new Intent(Intent.ACTION_PICK, uri); 
startActivityForResult(it, REQUEST_TEXT);