Для чтения данных из прикрепленного файла я использую:
Uri dataUri = getIntent().getData();
ContentResolver cr = getContentResolver();
String readXmlString = "";
try {
InputStream inputStream = cr.openInputStream(dataUri);
readXmlString = FileUtils.readFromInputStream(inputStream);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
На большинстве устройств этот код работает нормально, но на Kindle Fire у меня проблема. Я отладил это. Проблема возникает, когда распознаватель содержимого пытается открыть входной поток. Итак, у меня есть что-то вроде этого в readXmlString: + v ( ק i ^ % z ܩ z ʗ
Код моего readFromInputStream:
public static String readFromInputStream(InputStream inputStream){
StringBuilder total = new StringBuilder();
try {
BufferedReader r = new BufferedReader(
new InputStreamReader(inputStream)); //also tried: new InputStreamReader(inputStream, "UTF-8")
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return total.toString();
}