LoginSignup
4
4

More than 5 years have passed since last update.

AndroidのContentResolver経由でURIからファイルパスを取り出す際にドハマリした件

Last updated at Posted at 2016-08-10

やりたかったこと

ギャラリーをインテントで立ち上げて、そいつが返すURIからファイルパスを取得したい

ハマった内容

  • ギャラリーを立ち上げて返ってきたインテントのURI(data.getDataで取得するやつ)をContentResolver.queryに投げても、_dataの入った情報が返ってこない

理由(確度100%ではない)

  • URIの形式に応じてContentResolverContentProviderへ問い合わせるが、インテントから取得できるURIだと問い合わせるContentProviderMediaProviderになるため、ファイルのパスが取れない

解決策

この問題の厄介な点(あるいは愚痴)

  • 日本語の情報があまり見当たらない
  • 日本語の記事だと、ContentProvider.queryに問い合わせれば問題なくファイルのパスが取得できるように書いてあるものが多い
  • StackOverflowの解決策を適用したとしてもやや複雑なので、「そもそもURIのまま扱え」という神のお告げがどこかに存在する可能性がある
4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4