1

Androidタブレット(バージョン4.0.3)にUSBポートがあります。

  1. そのポートに接続されているPenDriveを見つけるにはどうすればよいですか。
  2. Androidでプログラムを介してそのポートに接続されたUSBペンドライブ内のファイルにアクセスするにはどうすればよいですか。

含まれている/mntフォルダがあります

asec extsd obb sdcard secure usbhost1

  1. どれがであるかをプログラムで識別する方法Internal Memory PathExternal SD Card PathおよびUSB Path

  2. このフォルダを使用する目的は何ですかasecobbおよびsecure

前もって感謝します。

よろしくバラ

4

3 に答える 3

2

これを使用する必要がある外部SDカードを使用すると思います:

new File("/mnt/external_sd/")

また

new File("/mnt/extSdCard/")

また

new File("/mnt/usb_storage")

Environment.getExternalStorageDirectory() の代わりに

私のために働きます。最初にディレクトリ mnt の内容を確認し、そこから作業する必要があります..

使用する SD カードを選択するには、ある種の選択方法を使用する必要があります。

File storageDir = new File("/mnt/");
if(storageDir.isDirectory()){
    String[] dirList = storageDir.list();
    //TODO some type of selecton method?
}

「ペン ドライブ」は /mnt/ にあります (4.0 の他のすべてのストレージ デバイスと同様に)。

4.0.3 USB ストレージを実行している Acer Iconia A500 は、一部のデバイスでは異なる可能性があります。/mnt/usb_storage/

于 2012-07-02T12:58:31.617 に答える
1

そのポートに接続されているペンドライブをどのように見つけますか。

Android SDK には、これを行う方法が文書化され、サポートされていません。デバイスの製造元と話し、特定のデバイスでこれを行う方法についての推奨事項を入手する必要があります。

Androidでプログラムを介してそのポートに接続されたUSBペンドライブ内のファイルにアクセスするにはどうすればよいですか。

上記を参照。

于 2012-07-02T13:00:12.343 に答える
0

*これを使用すると、パスを見つけてUSB内のファイルを評価できます*

public String getStoragepath() {

        try {

            Runtime runtime = Runtime.getRuntime();
            Process proc = runtime.exec("mount");
            InputStream is = proc.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            String line;
            String[] patharray = new String[10];
            int i = 0;
            int available = 0;

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

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

                        patharray[i] = mount;
                        i++;

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

//                          t1.show();
                            available = 1;
                            finalpath = mount;
                            break;
                        } else {


                        }
                    }
                }
            }
            if (available == 1) {


            } else if (available == 0) {

                finalpath = patharray[0];

            }

        } catch (Exception e) {
        }
        return finalpath;
    }
于 2013-06-13T10:57:46.050 に答える