2

我有一个使用自定义 Mime 类型提供配置文件的 Web 服务。当用户单击链接时,我想使用意图过滤器启动我的活动。它适用于所有 Android 版本,但在 4.2(API 级别 17)中不起作用。这是我的 Manifest.xml

        <activity android:name="activityName" 
              android:screenOrientation="nosensor"
              android:theme="@style/Theme.Sherlock.NoActionBar"
              android:exported="true">
         <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:scheme="http" />
            <data android:scheme="https" />
            <data android:mimeType="application/vnd.xxx.yyy"/> 
        </intent-filter>
    </activity>

任何想法?

4

3 回答 3

1

解决,。只需将 android:launchMode="singleTask" 添加到清单中。由于android 4.2中的某些奇怪原因,该标志是强制性的.....

于 2013-01-09T12:03:06.427 回答
0

好吧,您的应用程序可以在 4.2 硬件上运行(在 Galaxy Nexus 上测试)。它会短暂地弹出浏览器(我在 4.1 x86 模拟器上没有注意到这一点,尽管它可能太快了)。但是,然后控制权将传递给您的活动。

我的猜测是,在模拟器上实现的浏览器中存在导致问题的错误。

话虽如此,如果这确实是针对某种专有配置文件,我建议您在应用程序中处理下载。TextView与其让人们点击-as-hyperlink 或 a ,不如WebView在您自己的应用程序中提供配置文件列表并使用HttpUrlConnection(或HttpClient)您自己下载它。

于 2012-12-27T22:25:04.357 回答
0

刚刚在装有 OS 4.2.1 的 Galaxy Nexus 上进行了测试。测试应用程序不起作用。

在 code.google.com 上开了一张新票,等待反馈

https://code.google.com/p/android/issues/detail?id=42409

于 2013-01-07T08:58:18.680 回答