本当に面倒な問題に取り組んでいます。 コンテキスト:私のアプリケーションは、特別な拡張子(例えばmyFile.png.myapp)を持つファイルを開くように作られていますダウンロードしたファイルには一部のデバイスで拡張子がありません
Chromeを使用して私のサーバーからダウンロードすると、正常にダウンロードされ、「開く」というプロンプトが表示され、 appの場合、インテントのパスはcontent:// downloads/my_downloads/2136の形式になります。
拡張子はありません。
私は送信できる唯一のMimeTypeはアプリケーション/オクテットストリームなので、私はそのファイルが本当にpngであることを知る方法がありません。
ファイルがダウンロードされたという通知をクリックすると正常に動作します。
これは、Android 6.0.1を実行しているNexus 5の場合にのみ、他のすべてのデバイスで発生します。実際のファイル名を取得するとスムーズに動作します。
マニフェストとアプリ内の両方の権限が設定されています。
私の調査は、DownloadProviderパッケージのヘルパークラスによるものだと考えていますが、わかりません。
誰でも手助けできますか?
乾杯
おかげで、私が言ったように、これは何の付加的な情報を与えないので、MIMEタイプは、常にアプリケーション/ octet-streamとなります。 – Tom
いいえ、私が送ることができる唯一のMimeTypeはアプリケーション/オクテットストリームです。そして送信は、ここで行われるのとは異なる決定です。 Chromeがダウンロードしている場合は、何を送信していますか? – greenapps
しかし、あなたは元のファイル名を与えるDocumentFileをuriに、次にDocumentFile.getName()を使うことができます。 – greenapps