4

Android デバイスで一時ファイルを生成し、メールに添付します。カスタム コンテンツ プロバイダーを使用して、そのファイルを電子メール アプリケーションにフィードします。問題は、電子メール アプリケーションが最終的に電子メールを送信するまで、1 回ではなく何度もファイルにアクセスすることです (たとえば、下書きを作成するたびに要求を受け取ります)。

そのため、その一時ファイルをいつ削除するかを知るのが難しくなります。

電子メールがいつ配信されたかを知るための安全な方法についてのアイデアはありますか? (下書きフォルダーにメールがしばらく残っている可能性があるため、定期的に削除することも正しくないようです)

助けてくれてありがとう!

4

1 に答える 1

1

ええ、ええ、私はこれが1歳であることを知っています。しかし、私たちは同じことに遭遇しました。

私たちが行ったことは、ContentProvider.openFile() を使用してオンデマンドでデータを合成し、一時ファイルに書き込むのではなく、メール アプリに直接ストリーミングすることでした。これを行うには、ContentProvider の query() メソッドから OpenableColumns に準拠する行を返す必要があります。メール アプリは openFile() を返し、ユーザーは ParcelFileDescriptor を返します。

残念ながら、それはすべて少し黒魔術であり、多くのアプリが間違っていることがわかりました --- DropBox には少し問題があり、現在 (あなたの質問に気付いた理由) 私たちは Samsung 独自の Bluetooth フロントと戦っています終わり。ベンダーが放っておけない理由がわからない...

于 2011-06-13T13:38:52.643 に答える