1
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))            
{           
    System.out.println("​sd card present");         
}

このコードを使用することで、SDカードを見つけることができますが、どのSDカードであるかを認識できません。それは組み込みのsdまたは外部です...

http://androidforums.com/samsung-galaxy-s2-t/557831-am-i-saving-sdcard-not.htmlplzはこのリンクを一度参照してください.....

SGS2では、Samsungにはシステム用に2 GBのパーティションがあり、残りの14 GBはパーティション化され、マウントポイント/sdcardを作成することでsdカードとして認識されます。それに加えて、そのデバイスに外部のリムーバブルSDカードをマウントできます。次に、プログラミングを通じて外部のリムーバブルSDカードを認識する方法。

4

1 に答える 1

1
String sdcardpath = null;
    File[] faFiles = new File("/mnt").listFiles();
    abc: {
        for (File file : faFiles) {
            if (file.isDirectory()) {
                String pathMain = "" + file.getAbsolutePath();
                Log.v("@@@@@@@@@@@@@@@@", "222222222222" + pathMain);
                if (pathMain.indexOf("ext") > 0&&pathMain.startsWith("/mnt/")) {
                    File fp = new File(pathMain);
                    if (fp.canWrite()) {
                        Log.v("@@@@@@@@@@@@@@@@", "33333333333333333"
                                + pathMain);
                        //external sd card is there..
                        sdcardpath = pathMain;
                        break abc;
                    }
                    else{

                    }
                } else {
                    if (pathMain.indexOf("sd") > 0) {
                        File fp = new File(pathMain);
                        if (fp.canWrite()) {
                            Log.v("@@@@@@@@@@@@@@@@", "33333333333333333"+ pathMain);
                            sdcardpath = pathMain;

                               //internal sd card is there..
                        }

                    }
                }
            }
        }
    }
于 2012-07-14T03:34:31.103 に答える