从Android平板电脑访问FAT32和NTFS格式的USB Pendrive

时间:2012-08-28 08:02:46

标签: android usb ntfs fat32

我们的Android平板电脑(版本4.0.3)中有一个USB端口。

Pendrive文件系统格式

  1. NTFS
  2. FAT32
  3. 当Pendrive文件系统格式为FAT32文件已成功创建时。但是当文件系统格式为NTFS时,我收到错误消息为open failed: EACCESS (Permission denied)

    我需要在USB Pendrive中创建一个新文件。我试过我的示例代码是

    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文件系统格式创建新文件。

    提前致谢。

    问候
    巴拉

1 个答案:

答案 0 :(得分:2)

您需要的是一种在设备内核中启用对NTFS的支持的方法。这可以通过将ntfs-driver构建为可加载模块(.ko文件)来动态实现。这需要针对您设备上运行的特定内核版本进行。

接下来,您需要一种在每次系统重新启动时自动加载模块的方法。这在Android中也是“可行的”。您可能想要尝试这样做app。即加载位于Android设备上任何位置的一个或多个内核模块。

在此之后每当插入具有ntfs分区的外部设备(usb-drive)时,内核将能够正确识别并安装它。因此,应用程序可以在适当的位置访问它,如“/ mnt / usbhost1”等。