Android Intentよくある使い方 - メーラやブラウザー、カメラなどの外部アプリケーションを起動する方法
2011/12/15 17:46Update
アクティビティ間の連携(別画面を開く、画面間のデータのやり取りなど)に使用されるIntentで、外部アプリケーションを起動する方法例。
サンプル
/////////////////////////////////////////
// 電話への発信
Uri uri = Uri.parse("tel:1234");
Intent intent = new Intent(Intent.ACTION_DIAL, uri);
startActivity(intent);
/////////////////////////////////////////
// SMS送信
Uri uri = Uri.parse("smsto:1234");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms_body", "Hello");
startActivity(intent);
// イメージ送信
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);
/////////////////////////////////////////
// ブラウザーへ。Google.co.jpを開く
Uri uri = Uri.parse("http://www.google.co.jp");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
/////////////////////////////////////////
//メーラ起動へ
// メール送信1
Uri uri = Uri.parse("mailto:test@test.com");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(intent);
// メール送信2
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, "test@test.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "Hello");
intent.setType("text/plain");
startActivity(intent);
// メール送信3
Intent intent=new Intent(Intent.ACTION_SEND);
String[] tos = {"1@test.com", "2@test.com"}; // to
String[] ccs = {"3@test.com", "4@test.com"}; // cc
String[] bccs = {"5@test.com", "6@test.com"}; // bcc
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);
/////////////////////////////////////////
// Googleマップへ。指定する経緯度の場所を表示
Uri uri = Uri.parse("geo:35.689506,139.691701");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
// Googleマップ(経路)表示へ。指定する経緯度の始点、終点地の経路を表示
Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=35.689506 139.691701&daddr=35.9 140.4");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
/////////////////////////////////////////
//プレイヤーへ。sdカードにあるmp3を再生
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);
/////////////////////////////////////////
// カメラへ
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);
// カメラデータ取得
Bundle extras = intent.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
/////////////////////////////////////////
// 画像エディタへ:クロップ1
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
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);
// 画像エディタへ:クロップ2
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);
/////////////////////////////////////////
// Google Marketへ:アプリ詳細を表示
Uri uri = Uri.parse("market://details?id=" + "com.demo.app");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
/////////////////////////////////////////
//アプリアンインストールへ
Uri uri = Uri.fromParts("package", "com.demo.app", null);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
startActivity(intent);
/////////////////////////////////////////
//Android設定画面へ: 無線LAN(ワイアレス)設定へ
Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
startActivityForResult(intent, 0);
.
Sponsored Link
Comments
- Relative Articles
- Android開発 - 位置情報取得のGPSセンサーの利用 - (2011/07/14 01:35)
- Android開発 - WIFIの使用方法概要 - (2011/07/13 00:39)
- Android開発 - 電話番号やネットワーク回線などの端末情報を取得 - (2011/07/12 23:11)
- Android開発 - TabActivityでタブ画面の作成 - (2011/07/12 00:31)
- Android開発 - 加速度センサー - (2011/07/10 23:50)
- Android開発 - 方位センサー - (2011/07/10 22:17)
- Android開発 - 画面間のデータ転送 - (2011/07/10 03:25)
- Android開発 - 画面間の遷移 - (2011/07/10 01:34)
- Android開発 - 副画面を作成 - (2011/07/09 20:02)
- Android開発 ドラッグ&ドロップでアプリにウィジェット追加 - (2011/07/09 00:45)