Показать галереюПросмотр по намерениям с моей собственной деятельностью не виден

1

У меня есть следующее требование. Когда приложение получает файл изображения с сервера, он должен автоматически открыть изображение в средстве просмотра изображений по умолчанию.

Нормальный случай:

  1. Активность видна.
  2. Полученный файл изображения с сервера.
  3. Приложение отправляет Intent.ACTION_VIEW
  4. В окне галереи отображается загруженное изображение.

Сбой:

  1. Активность не отображается. (Например, нажмите "Домой" и вернитесь в пусковую установку.)
  2. Полученный файл изображения с сервера.
  3. Приложение отправляет Intent.ACTION_VIEW
  4. Ничего не произошло. (<- Fail)

** Если я вернусь в свое приложение, я увижу представление галереи.

Есть ли что-нибудь, что я могу сделать, чтобы получить представление "Галерея", чтобы показать, что моя активность не видна?

Как начать просмотр галереи:

            final Intent openfileintent = new Intent();
            openfileintent.setAction(android.content.Intent.ACTION_VIEW);
            final File file = sharedfile.getFileInstance();
            openfileintent.setDataAndType(Uri.fromFile(file), sharedfile.getMimeType());
            startActivity(openfileintent);
Теги:
android-intent

1 ответ

0
Лучший ответ

Нашли ответ после проб и ошибок.

Есть два флажка для добавления.

И самое главное, следует использовать контекст приложения вместо контекста активности.

        final Intent openfileintent = new Intent();
        openfileintent.setAction(android.content.Intent.ACTION_VIEW);
        (*1) openfileintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        (*2) openfileintent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        final File file = sharedfile.getFileInstance();
        openfileintent.setDataAndType(Uri.fromFile(file), sharedfile.getMimeType());
        (*3) getApplicationContext().startActivity(openfileintent);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню