0

Android アプリからメールを送信する際に問題が発生しています。断続的かつ不安定に動作します。ほとんどの場合、「送信中..」状態で送信トレイにスタックします。

これはここで頻繁に繰り返される質問であることは知っていますが、コードのバリエーションをかなり試しましたが、どれも確実に機能しないように見えるため、もう一度質問します。一部のフォーラムでは、これは GMail アプリのせいだとも言っています。そして、「送信トレイフォルダーを更新する」と「同期を無効にして有効にする」ことを試みましたが、何もうまくいかないようです。

これが私のコードです:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "emailText");
emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent.setType("application/zip");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("/mnt/sdcard/myFolder/myFile.zip")));
startActivity(Intent.createChooser(emailIntent, "send email"));
finish();
  1. 誰かがなぜこれがうまくいかないのか説明できますか?
  2. setType() の値は? 使用可能な値のリストはどこにありますか?
  3. .zip ファイルを送信しようとしているからですか? もしそうなら、他のアーカイブ形式は機能しますか?

どうもありがとうございました。

編集: 問題はファイル形式 (.zip) にあると思われます。他のファイル形式は問題なく動作します。私はこのアプローチを放棄し、自分のサーバーがデータをリッスンする TCP を採用しました。

4

1 に答える 1

0

送信状態でスタックする理由は、zip ファイルのサイズによっては、メールに追加する必要があるためです。サイズが大きすぎる (30 MB 以上) 場合、ハングして Google によって拒否される可能性があります。 Google では、メールで 30 MB を超える送信を許可していないためです。これは単なる推測ですが、小さいファイルを送信してみて、そうなるかどうかを確認してください。

于 2011-04-15T17:13:01.733 に答える