4

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

Pendrive ファイル システム フォーマットは

  1. NTFS
  2. FAT32

Pendrive File Systems Format の場合、FAT32ファイルは正常に作成されました。しかし、ファイル システム フォーマットがNTFSの場合、エラー メッセージがopen failed: EACCESS (Permission denied).

USBペンドライブから新しいファイルを作成する必要があります。サンプルコードを試してみました

Button createFile = (Button) findViewById(R.id.createFile);
createFile.setOnClickListener(new OnClickListener() 
{
    public void onClick(View v) 
    {
        try 
        {
            File root = new File("/mnt/usbhost1");
            Runtime.getRuntime().exec("chmod 777 " + root.getAbsolutePath());
            File myFile = new File(root,"createNew.txt");
            myFile.createNewFile();
            Toast.makeText(getBaseContext(), "Done Creating File", Toast.LENGTH_SHORT).show();
        } 
        catch (Exception e) 
        {
            Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
});

これ/usbhost1は Android タブレットの USB パスです。間違えるところ。NTFSファイル システム フォーマットから新しいファイルを作成する方法。

前もって感謝します。

よろしく
バラ

4

1 に答える 1

2

必要なのは、デバイスのカーネルでNTFSのサポートを有効にする方法です。これは、ntfs-driverをロード可能なモジュール(.koファイル)として構築することで動的に実現できます。これは、デバイスで実行されているカーネルの特定のバージョンに対して実行する必要があります。

次に、システムが再起動するたびにモジュールを自動的にロードする方法が必要です。これはAndroidでも「実行可能」です。あなたはまさにそれをするこのアプリを試してみたいかもしれません。つまり、Androidデバイスの任意の場所にある1つ以上のカーネルモジュールをロードします。

この後、ntfsパーティションを持つ外部デバイス(usb-drive)を挿入するたびに、カーネルはそれを正しく認識してマウントできるようになります。したがって、アプリは「/ mnt/usbhost1」などの適切な場所でアクセスできます。

于 2012-10-08T17:27:35.753 に答える