web-dev-qa-db-ja.com

アプリは、ルートなしでAndroid 6.0(APIレベル23)のUSB OTGストレージ上のファイルにどのようにアクセスできますか?

Android 6.0 Developer Preview(APIレベル23)は、追加のアプリなしで、外付けの取り外し可能なUSB OTGストレージをネイティブにマウントできます(詳細については、以下を参照してください: https://www.androidpolice.com/2015/05/28/Android-m-feature-spotlight-external-storage-be-ad-opted-as-true-internal-storage-or-accessed-normally-with-no-additional-apps / )。

ユーザーがUSB OTGストレージを接続すると、システムストレージメニューに表示され、組み込みのファイルマネージャーを使用してアクセスできます。ユーザーは、ルート権限なしで新しい組み込みファイルマネージャーを使用して、USB OTG外部ストレージ上のすべてのファイルにアクセスできます。

USB OTGストレージをAndroidデバイスに接続すると、/storage/A03E-1DF5および/mnt/media_rw/A03E-1DF5、ただしこのフォルダにアクセスするにはルート権限が必要です。

私はAndroidメディアプレーヤーアプリに取り組んでいます。

Android 6.0ルート権限なしの組み込みファイルマネージャーのようなアプリでUSB OTGストレージ上のファイルにアクセスすることは可能ですか?

追伸アプリで既にcheckSelfPermissionおよびrequestPermissions関数を使用していますが、アプリには既にAndroid.permission.READ_EXTERNAL_STORAGEおよびAndroid.permission.WRITE_EXTERNAL_STORAGE(詳細については、以下を参照してください: https://www.androidpolice.com/2015/07/15/Android-m-feature-spotlight-apps-now-need-your-permission-to-read -and-write-to-external-storage / )、ただし、これらの権限は内部ストレージ(MicroSD)のみに影響するように見え、USB OTGにはそのような詳細な権限はありません。

20
Vika Apelsinova

Android 6、 SB Media Support ドキュメントによると、 Storage Access Framework が唯一の利用可能なメカニズムであるようです:

Android 6.0では、採用されていないデバイスはポータブルとみなされます。プライバシーとセキュリティ上の理由から。

13
cuihtlauac