Android: открыть файл в виде байтового массива с помощью Intents - PullRequest
1 голос
/ 06 августа 2010

Я немного отчаянно хочу открыть файл с намерением, чтобы android мог решить, какое приложение должно обрабатывать этот файл. Моя проблема в том, что у меня есть только файл в виде представления Base64, который я декодирую в массив байтов

Теперь я хочу отправить намерение и открыть этот файл. Я пытаюсь сохранить его во внутреннем хранилище и открыть файл с URI, заданным getFilesDir (). Вот мой код

    FileOutputStream fos = openFileOutput(filename, Context.MODE_WORLD_READABLE );
    fos.write((byte[])result);
    fos.close();

    uri = Uri.fromFile(new File(getFilesDir(), filename));

    Intent myIntent = new Intent(Intent.ACTION_VIEW);
    myIntent.setData(uri);
    startActivity(myIntent);

К сожалению, это не работает. Все, что я получил, это ActivityNotFoundException (даже если я пытаюсь открыть * .jpg)

Спасибо за любой вклад!

1 Ответ

2 голосов
/ 06 августа 2010

Android не пытается угадать типы MIME на основании расширений файлов. Вам необходимо явно установить тип MIME в Intent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...