2017-09-02 4 views
0

action_open_documentツリーから選択したUriユーザーがリムーバブルSdカードから取得したかどうかをチェックする方法は? これをチェックしますが、プライマリsdカードとリムーバブルsdカードについても同じです! 他の方法はありますか?uriがリムーバブルストレージかどうかを確認する

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

    String id=DocumentsContract.getTreeDocumentId(uri); 

        Uri mainuri=DocumentsContract.buildDocumentUriUsingTree(uri,id); 


        grantUriPermission(G.context.getPackageName(), uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); 

      if( "com.android.externalstorage.documents".equals(uri.getAuthority())){ 

// its return true for primary and removable sd card !! 


} 

答えて

1

ストレージプロバイダからUriが何らかの方法で識別可能である必要はありません。あなたの前提(特定のストレージプロバイダの権限がcom.android.externalstorage.documentsであること)は、すべてのAndroidデバイスで正しいとは限りません。デバイスメーカは独自のストレージプロバイダを提供でき、独自のUri構造を備えています。

+0

ユーザーが選択したリムーバブルストレージを判断する方法はありますか? – Mostafa

+0

@モスタファ:私が書いたように、いいえ。さらに、あなたのアプリは気にしないでください。ストレージアクセスフレームワークを使用している場合は、すべてのストレージプロバイダを同等に扱います。 – CommonsWare

関連する問題