androidにて、Intent(Intent.ACTION_OPEN_DOCUMENT_TREE) でファイル・ピッカーを起動してディレクトリを指定すると、 "content://...." なUriでディレクトリを取得できます。
このUriからディレクトリのフルパスを取得するコードをお教え下さい。
なお、ディレクトリは、音声とか動画とか特定の分類のものではなく、ユーザーがストレージ上に作成したさまざまなディレクトリです。
androidはバージョン11を利用しています。
調べると以下が出てきますが、読みましたか?
https://qiita.com/wakamesoba98/items/98b79bdfde19612d12b0
また、フルパスを確認したい理由は何でしょうか?
fiveHundred様、ありがとうございます。
参考ページ内に紹介されている https://stackoverflow.com/questions/32661221/android-cursor-didnt-have-data-column-not-found/33930169#33930169 のコードでできそうですが、冒頭の DocumentsContract.getDocumentId(uri) で下記のように "Invalid URI"例外となりました。
```
java.lang.IllegalArgumentException: Invalid URI: content://com.android.externalstorage.documents/tree/00C4-80DB%3AmyDir%2Ftmp
at android.provider.DocumentsContract.getDocumentId(DocumentsContract.java:1273)
at net.sytes.rokkosan.mystorageaccessframework.MainActivity.fileLauncher$lambda-0(MainActivity.kt:40)
```
フルパスを確認したい理由は単に表示させたいだけです。
ストレージへのアクセスが最近は厳しくなっていますが、世の中のファイラーアプリはきちんとパスを表示しているので、「どうやったらパスを取得できるのか?」と思っている次第です。
なお、deprecatedなEnvironment.getExternalStorageDirectory() ではプライマリなストレージのパスは取得できましたが、SDカード上のパスを取得できませんでした。
