0

Fileからオブジェクトを取得することは何とか可能DocumentFileですか? いくつかの小さなトリックで、ファイルの実際のパスを取得できますが、Fileクラスはそこでの読み取り/書き込みを許可されていません...

USB OTG またはセカンダリ ストレージからメディア ファイルにアクセスする必要があり、次の機能が必要です。

  • 画像からexifデータを取得する=>私は本当にそれが必要です
    • 画像の場所を取得する
    • 画像の実際の作成日を取得する
    • 実際には、目的を表示するために、すべてのexifデータが必要です
  • 画像を回転する機能 (これは、一時画像を作成し、古い画像を削除して、一時画像の名前を変更することで可能になります)

それを達成する方法について何か考えはありますか?

4

1 に答える 1

2

DocumentFile から File オブジェクトを取得することは何とか可能ですか?

いいえ。

ちょっとしたトリックで、ファイルの実際のパスを取得できます

確実ではありません。結局のところ、ストレージ アクセス フレームワークでは、実際のファイルが存在する必要はありません。さまざまなDocumentProvider実装は、必要になるまでデータがデバイスにローカルに保存されないクラウド サービスで機能します。それを超えて、使用しているアプローチは、Android OS バージョンは言うまでもなく、デバイスによって異なる可能性がある内部実装に依存しています。さらに、パスを取得しても必ずしもデータにアクセスできるとは限りません。その場所へのファイルシステム アクセス権がない可能性があるためです (たとえば、 によって内部ストレージに保持されているファイルDocumentProvider)。

画像からexifデータを取得する

インターネットで を検索して見つけた、ストリームを操作できる EXIF コード (これまたはこのなど) とともに、ストリームを使用しますandroid exif stream

画像を回転する機能 (これは、一時画像を作成し、古い画像を削除して、一時画像の名前を変更することで可能になります)

ローカル コピーを作成し、画像を回転してからDocumentFileOutputStream. その「ローカル コピー」が RAM だけにあるか、ディスク上の実際のファイルである必要があるかは、ローテーションをどのように計画しているかによって少し異なります。

于 2016-01-30T21:04:43.380 に答える