1 package jp.sourceforge.gokigen.memoma;
3 import android.app.Activity;
4 import android.content.Intent;
5 import android.net.Uri;
6 import android.util.Log;
7 import android.widget.Toast;
15 public class SharedIntentInvoker
17 private static final String IDENTIFIER = "Gokigen";
20 * メール送信用のIntentを発行する処理。
21 * @param parent 呼び出し元Activity
22 * @param id Intentが呼び出し元Activityに戻った時に、呼ばれていたのは何か識別するID
23 * @param mailTitle 共有データタイトル
24 * @param mailMessage 共有データ本文
25 * @param contentUri 添付データファイルのURI
26 * @param fileType 添付データファイルの形 (text/plain とか image/* とか ...)
28 static public void shareContent(Activity parent, int id, String mailTitle, String mailMessage, Uri contentUri, String fileType)
30 Intent intent = new Intent();
31 intent.setAction(Intent.ACTION_SEND);
34 Log.v(IDENTIFIER, "Share Content... " + contentUri);
35 intent.setType("text/plain");
36 intent.putExtra(Intent.EXTRA_SUBJECT, mailTitle);
37 intent.putExtra(Intent.EXTRA_TEXT, mailMessage);
38 intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
41 if ((contentUri != null)&&(!fileType.isEmpty()))
44 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
45 intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
46 intent.setType(fileType);
47 intent.putExtra(Intent.EXTRA_STREAM, contentUri);
48 Log.v(IDENTIFIER, "Attached :" + contentUri);
54 Log.v(IDENTIFIER, "attach failure : " + contentUri + " " + ee.toString() + " " + ee.getMessage());
56 parent.startActivityForResult(intent, id);
58 catch (android.content.ActivityNotFoundException ex)
60 Toast.makeText(parent, "" + ex.getMessage(), Toast.LENGTH_SHORT).show();
61 Log.v(IDENTIFIER, "android.content.ActivityNotFoundException : " + ex.toString() + " " + ex.getMessage());
65 Log.v(IDENTIFIER, "xxx : " + e.toString() + " " + e.getMessage());