您的位置:首页 > 移动开发 > Android开发

Android Phone Application Development(Part 1)

2009-07-15 15:08 471 查看
初步完成sample ap如附檔,第一個欄位為顯示業者名稱,第二欄位是電話號碼,下面為撥號鍵,其中主要是intent的使用。

Intent 應該算是 Andorid 中特有的東西。你可以在 Intent 中,指定要應用程式執行的動作 (view, edit, dial),以及應用程式執行該動作時,所需要的資料。都指定好後,只要透過 startActivity(),Android 系統會自動尋找,最符合你指定要求的應用程式,並喚起執行該應用程式。

以下為網路上找到的Sample code:

顯示網頁

Uri uri = Uri.parse("http://google.com");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

顯示地圖

Uri uri = Uri.parse("geo:38.899533,-77.036476");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

//其他 geo URI 範例

//geo:latitude,longitude

//geo:latitude,longitude?z=zoom

//geo:0,0?q=my+street+address

//geo:0,0?q=business+near+city

//google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom

路徑規劃

Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

//where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456

撥打電話

//叫出撥號程式

Uri uri = Uri.parse("tel:0800000123");

Intent it = new Intent(Intent.ACTION_DIAL, uri);

startActivity(it);

//直接打電話出去

Uri uri = Uri.parse("tel:0800000123");

Intent it = new Intent(Intent.ACTION_CALL, uri);

startActivity(it);

//用這個,要在 AndroidManifest.xml 中,加上

//<uses-permission id="android.permission.CALL_PHONE" />

傳送 SMS/MMS

//叫起簡訊程式

Intent it = new Intent(Intent.ACTION_VIEW);

it.putExtra("sms_body", "The SMS text");

it.setType("vnd.android-dir/mms-sms");

startActivity(it);

//傳送簡訊

Uri uri = Uri.parse("smsto:0800000123");

Intent it = new Intent(Intent.ACTION_SENDTO, uri);

it.putExtra("sms_body", "The SMS text");

startActivity(it);

//傳送 MMS

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);

傳送 Email

Uri uri = Uri.parse("mailto:xxx@abc.com");

Intent it = new Intent(Intent.ACTION_SENDTO, uri);

startActivity(it);

Intent it = new Intent(Intent.ACTION_SEND);

it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");

it.putExtra(Intent.EXTRA_TEXT, "The email body text");

it.setType("text/plain");

startActivity(Intent.createChooser(it, "Choose Email Client"));

Intent it=new Intent(Intent.ACTION_SEND);

String[] tos={"me@abc.com"};

String[] ccs={"you@abc.com"};

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"));

播放多媒體

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);

Market 相關

//尋找某個應用程式

Uri uri = Uri.parse("market://search?q=pname:pkg_name");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

//where pkg_name is the full package path for an application

//顯示某應用程式詳細畫面

Uri uri = Uri.parse("market://details?id=app_id");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

//where app_id is the application ID, find the ID

//by clicking on your application on Market home

//page, and notice the ID from the address bar

Uninstall 應用程式

Uri uri = Uri.fromParts("package", strPackageName, null);

Intent it = new Intent(Intent.ACTION_DELETE, uri);

startActivity(it);

安裝 APK 檔

Uri uri = Uri.parse("url_of_apk_file");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

it.setData(uri);

it.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

it.setClassName("com.android.packageinstaller",

"com.android.packageinstaller.PackageInstallerActivity");

startActivity(it);

//make sure the url_of_apk_file is readable for all users
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: