Обработка MIME-типа, который является результатом браузера POST в Android - PullRequest
1 голос
/ 31 июля 2011

У меня есть активность, которая успешно вызывается для типа MIME, в котором я заинтересован.Контент, отправляемый с сервера, представляет собой документ XML, созданный в результате процедуры POST.Я пытался обработать результат двумя разными способами, и мне не повезло ни с одним из них:

  1. android: mimeType = "application / customapp" Это моя деятельностьработает, но URI, который я получаю от Intent.getData () - это URL, используемый для записи.Вызов getContentResolver (). OpenInputStream () приводит к java.io.FileNotFoundException: нет провайдера контента: http: //.... Очевидно, что просто нажатие на этот URL не будет работать, поскольку я нене иметь опубликованных данных.
  2. android: pathPattern = ". * \ custom.app" Последний сегмент URL - это custom.app, поэтому я попытался использовать его с шаблоном пути,Таким образом, браузер пытается загрузить документ, и происходит одно из двух: стандартный браузер пытается загрузить «без названия» и завершается неудачно.Opera загружает документ, называя его, как и ожидалось, и предложит открыть файл, который работает, но Opera Mini ничего не делает, кроме как загружает файл.

Вот соответствующий раздел моего манифеста ссхема в:

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".CustomappActivity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:mimeType="application/customapp" />
            <data android:scheme="http" />
            <data android:scheme="https" />
        </intent-filter>
    </activity>
</application>

Я бы хотел использовать первый вариант, но мог бы мириться со вторым, даже если для этого требовалась Opera, но только в том случае, если он работал согласованно в обеих версиях Opera.Я просто не вижу способа получить поток ввода для результата, отправляемого с сервера.

1 Ответ

0 голосов
/ 01 августа 2011

Я отвечу на свой вопрос. Видимо, я облажался. Существует известная проблема со стоковым браузером и тем, как он взаимодействует с менеджером загрузки. В настоящее время он не может получить документы, отправленные в результате HTTP POST. Ошибка подробно здесь

...