处理由Android中的浏览器POST导致的MIME类型

时间:2011-07-31 17:03:32

标签: android filter android-intent handler mime

我有一个为我感兴趣的MIME类型成功调用的Activity。从服务器发送的内容是作为POST结果创建的XML文档。我试图以两种不同的方式处理结果,我也没有运气:

  1. android:mimeType =“application / customapp”执行此操作,我的活动会运行,但我从Intent.getData()获取的URI是用于帖子的URL。对getContentResolver()。openInputStream()的调用导致 java.io.FileNotFoundException:没有内容提供者:http:// .... 显然,只是点击该URL将无法正常工作没有发布的数据。
  2. android:pathPattern =“。* \ custom.app”网址的最后一段是custom.app,所以我尝试使用路径模式。这样,浏览器尝试下载文档,并发生以下两种情况之一:股票浏览器尝试下载“无标题”并失败。 Opera下载文档,按照希望命名,并提供打开文件,该文件有效,但Opera Mini除了下载文件外什么都不做。
  3. 以下是我在该计划中的清单的相关部分:

    <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 :(得分:0)

我会回答我自己的问题。显然,我搞砸了。股票浏览器存在已知问题以及与下载管理器交互的方式。此时,它无法检索作为HTTP POST结果发送的文档。该错误详细here