Я искал множество тем, посвященных написанию файлов в Android, но большинство из них хотели записать файлы на внутреннюю память Android. Другие, кто хотел написать файлы на внешней SD-карте, не имели успеха. Мой случай очень похож, но я думаю, что запись файлов на внешний USB - это совершенно другой случай.Android записывает файлы на USB через кабель OTG
Я использую Samsung Galaxy Note II работающий товар TouchWiz 4.4.2 [не укоренился]. Мой телефон поддерживает micro-USB-OTG, и я могу подключить свой USB как rwxrwx-x без укоренения. Полный путь моего USB - это/storage/UsbDriveA.
Я попытался использовать Environment.getExternalStorageDirectory(), чтобы получить путь или использовать путь (упомянутый выше) напрямую, но ни один из них не удался. Первый возвращает внутренний путь хранения, а второй возвращает ошибку с «разрешенным разрешением». Я уже поставил
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
в Android Manifest, поэтому я задавался вопросом, почему мой код не работал.
Кроме того, я могу написать что-нибудь на свой USB-носитель с использованием Root Browser (используйте его без root) и Simple Browser, поэтому я считаю, что есть способ сделать это.
Вот мой код:
File file = new File(path.getAbsolutePath(), "test.txt");
// File file = new File("/storage/extSdCard","test.txt");
err = false;
try {
FileOutputStream f = new FileOutputStream(file);
PrintWriter pw = new PrintWriter(f);
pw.print(get);
pw.flush();
pw.close();
f.close();
}catch (Exception e) {
e.printStackTrace();
Toast.makeText(MainActivity.this, "writing error",Toast.LENGTH_LONG).show();
err = true;
}
Log.i("File Path:", file.getPath());
Заранее спасибо !!!
Я попытался использовать класс (xda), который вы упомянули выше, но ему нужен андроид.permission.WRITE_MEDIA_STORA GE, который может применяться только в системных приложениях. Я не хочу помещать приложение в/system, потому что это бессмысленно. Поэтому я хочу знать, есть ли другой способ сделать это? Во всяком случае, большое спасибо. – youngBeginnerDeveloper