Androidのは、外部のSDカードストレージパスの方法を取得します。

  プロセスの開発と応用では、多くの場合、問題は機器のストレージ・パスを取得する必要が発生しました。ビルトインされている保管場所ではなく、外部のSDカードのパス、インターネット上で見つけることがたくさんから取得したので、私は、外部ストレージのパスを取得するために反射機構を使用することをお勧めします。

  典型的には、Environment.getExternalStorageDirectory()が内蔵されたメモリのパスを取得し、次のように他の方法を(異なるデバイスが異なることが、いくつかの方法は、参照のために以下に提供されるように、異なる機器メーカーには変更されてもよい):
  [ため以下の方法は、一般的に表示されていない、反射によって呼び出す必要があります]

説明:

そうでない場合は、表示/記憶/ sdcard0(特異的であるもの、根底によって制御される)、外部メモリカードは、パスを特定/記憶/ 3035から3633として示され、存在する場合は1、パスは、取得することができる
ことにより2、見出され、それはパスが利用可能であるか否かを判断し、取得したステータスが利用可能であるかどうか、ファイルを決定または作成するgetExternalStoragePathState()を必要とする()file.existsがあるか否かを判定する。
長年の問題に悩まさが最終的に解決されています!

注:、反射に次の主要な手順を実行します。

(1)クラスmClass = Class.forNameの( "android.os.Environment"); //は、 クラスをロード<?>

(2)メソッド、メソッドmClass.getMethod =( "getInternalStoragePath"、NULL); //第二のパラメータ:呼び出されたメソッドを表すパラメータは、現在の方法は、パラメータ、したがってNULLを必要としない。
   (method.isAccessible()!)場合{//検出方法がアクセス可能である。
    (真の)method.setAccessible;    
   }   

(3)method.invoke(NULL、NULL); //最初のパラメータ:メソッドのパラメータが必要:メソッド呼び出しのパラメータの第2の例を。

おすすめ

転載: www.cnblogs.com/sparrowlhl/p/11122159.html