4

アプリケーションを実行するためにAndroidタブIce Cream Sandwichバージョン4.0.3を使用しています。外部USBデバイスとandroid Tabに接続しています。外部 USB デバイスのパスをプログラムでマウントする方法。USBデバイスからAndroidタブにファイルを参照する必要があるためです。

AndroidでUSBパスをマウントするにはどうすればよいですか?

4

2 に答える 2

1

user370305に同意します。

ストレージ設定で確認できます。マウント パスがそこにあるようです (たとえば、/mnt/usbdisk_1.0/)。また、/mnt を調べて、何がリストされているかを確認することもできます。それが、さまざまなファイルマネージャーアプリが行うことだと思います。USB ドライブ用のマウント ポイントがいくつかあるようです。まだマウントされていないものは空として表示されますが、マウントされているものは参照できます (Astro などのファイル エクスプローラー アプリを使用)。

このリンクにアクセスしてください。

于 2012-06-25T08:58:46.667 に答える
1

すでに与えられた答えを確認してくださいAndroidはUSBマウントポイントパスを検出します

  private String getAllStoragePath() {
    String finalPath = "";
    try {
        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec("mount");
        InputStream inputStream = process.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        String line;
        String[] pathArray = new String[4];
        int i = 0;

        BufferedReader br = new BufferedReader(inputStreamReader);
        while ((line = br.readLine()) != null) {
            String mount = "";
            if (line.contains("secure"))
                continue;
            if (line.contains("asec"))
                continue;

            if (line.contains("fat")) {// TF card
                String columns[] = line.split(" ");
                if (columns.length > 1) {
                    mount = mount.concat(columns[1] + "/someFiles");

                    pathArray[i++] = mount;

                    // check directory inputStream exist or not
                    File dir = new File(mount);
                    if (dir.exists() && dir.isDirectory()) {
                        // do something here
                        finalPath = mount;
                        break;
                    }
                }
            }
        }

        for(String path:pathArray){
            if(path!=null){
                finalPath =finalPath + path +"\n";
            }
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    return finalPath;
}
于 2016-05-11T12:34:16.600 に答える