У меня есть активность, которая успешно вызывается для типа MIME, в котором я заинтересован.Контент, отправляемый с сервера, представляет собой документ XML, созданный в результате процедуры POST.Я пытался обработать результат двумя разными способами, и мне не повезло ни с одним из них:
- android: mimeType = "application / customapp" Это моя деятельностьработает, но URI, который я получаю от Intent.getData () - это URL, используемый для записи.Вызов getContentResolver (). OpenInputStream () приводит к java.io.FileNotFoundException: нет провайдера контента: http: //.... Очевидно, что просто нажатие на этот URL не будет работать, поскольку я нене иметь опубликованных данных.
- 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.Я просто не вижу способа получить поток ввода для результата, отправляемого с сервера.