3

インテントを使用してAndroidでファイルを送信しようとしています。インテントチューザーを起動してGMailアプリを選択します。問題は、カスタムmimeタイプを設定できないことです。これは、常にapplication/octet-streamになります。

古いバージョンのGMailアプリ(またはJB以前のような古いバージョンのAndroid?)では、次のように正常に機能しました。

Intent sendIntent = new Intent(Intent.ACTION_SEND);
// Add attributes to the intent
sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Send my file");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(path));
sendIntent.setType("application/vnd.mycustommimetype");
context.startActivity(Intent.createChooser(sendIntent, context.getString(R.string.lblShare)));

Gmail / Androidの新しいバージョンで動作するようにmimeタイプを設定する方法を知っている人はいますか?

試行錯誤の末、GMailアプリバージョン4ではこれで問題なく動作することがわかりましたが、GMailバージョン4.2では、mimeタイプを設定できないか、別の方法で設定されています。誰もが方法を知っていますか?:/

4

2 に答える 2

1

残念ながら、できることはあまりありません。一部のメール アプリでは、カスタム ファイルの MIME タイプが誤ってオクテット ストリームに設定されていました。ベスト ショットは、カスタム MIME タイプを設定することですが、受信側で、octet-stream も受け入れるようにしてください。次に、ファイル拡張子をチェックして、それが実際に自分のファイルであり、アプリ向けではないものではないことを確認する必要があります (カスタム拡張子も使用していると仮定しています)。

于 2014-04-10T08:46:21.810 に答える
0

このコードスニペットを確認してください

final Intent emailIntent = new Intent(Intent.ACTION_SEND); 
emailIntent.setType("text/plain"); 
emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[]{"webmaster@website.com"}); 
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "my subject"); 
emailIntent.putExtra(Intent.EXTRA_TEXT, "body text"); 
context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
于 2012-12-14T04:41:49.903 に答える