[解決済み] XLS(エクセル)ファイルをメールに添付する
質問
私のアプリケーションでは インテント メソッドで作成した Excel スプレッドシートデータをエクスポートする便利な方法として、ユーザーにメールを送信しています。 JExcell API ).
というフォルダーに格納され、SDカードに保存されます。 レコード .
送信しようとしているファイルは、次のとおりです。 measurments.xls。
送信前にファイルが存在するかどうかコードでテストしました。メールコンポーザーには添付ファイルが表示されていますが、メールを送信してから受信すると添付ファイルがありません。
しかし、エクセルファイルをpng画像に置き換えると、添付ファイルが受信されます。どうすればいいのでしょうか?
以下は、私がメールを送信するために使用しているコードです。これは、単にそれ自体でクラス内のパラメータ化された静的メソッドです。
public static void sendEmailWithAttachment(Context ctx, String to,String subject, String message, String fileAndLocation)
{
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {to});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
File file = new File(fileAndLocation);
// File file = getFileStreamPath();
if (file.exists())
{
Log.v("Farmgraze", "Email file_exists!" );
}
else
{
Log.v("Farmgraze", "Email file does not exist!" );
}
Log.v("FarmGraze", "SEND EMAIL FileUri=" + Uri.parse("file:/"+ fileAndLocation));
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:/"+ fileAndLocation));
ctx.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
}//end method
では、xlsファイルを受け取るにはどうすればいいのでしょうか?メソッドのコードの2行目のMIMEタイプを変更するのでしょうか?もしそうなら何をすればいいのか。何か役立つアドバイスがあれば、非常にありがたいです。
お読みいただきありがとうございます。
A.
解決方法は?
さて、みなさん、この質問の締めくくりとして、私は解決策を見つけました。
問題は、URIに送信されるファイルパス文字列が、3つのフォワードスラッシュを持つ必要があることでした。
というように。
file:///sdcard/somefolder/some_file.xls.
また、Excel文書については、以下のようにタイプを設定する必要があります。
emailIntent.setType("application/excel");
つまり、問題は2つに分かれていたのです。私は、3つのスラッシュを使った解決策を意識していました。 このスレッド しかし、それがうまくいかなかったので、問題は別のところにあると考えました。
また、正しい MIME タイプを知るには このウェブページ これは、サポートされているすべての MIME タイプをリストしたもので、他の読者にとっても非常に有益なものでしょう。
というわけで、私の小さな問題に関心をもって読んでいただき、ありがとうございました!これで解決です。
関連
-
[解決済み】Android Studioでパラメータ化されたユニットテストを実行すると、指定されたインクルードに対するテストが見つからないエラーが発生する
-
[解決済み】onCreateOptionsMenu(Menu メニュー)とは何ですか?)
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み】起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み】フラグメントMyFragmentがアクティビティにアタッチされない。
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] 有効なメールアドレスの最大長を教えてください。
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] .NETでGmailを使ったメール送信
-
[解決済み] メール送信インテント
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】java.lang.RuntimeException: アクティビティを開始できない ComponentInfo
-
[解決済み】アンドロイドクロームブラウザのモバイルウェブアプリケーションのメニューでHTMLユニコード ☰が検出されない。
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】このアクティビティは、すでにウィンドウ装飾によって提供されるアクションバーを持っています。
-
[解決済み】ビューのルートとしてNULLを渡さないようにする(膨張したレイアウトのルート要素でレイアウトパラメータを解決する必要がある)。
-
[解決済み】IllegalStateException: ViewPager で onSaveInstanceState の後にこのアクションを実行できません。
-
[解決済み】android.content.res.Resources$NotFoundExceptionの取得:androidにリソースが存在する場合でも例外が発生する。
-
[解決済み] サポートされていないメソッドです。BaseConfig.getApplicationIdSuffix()がサポートされていません。
-
[解決済み] 起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み] Mockito lenient() を使用する場合