我正在尝试将我的安卓应用程序注册为iCal URL的处理程序。为此,我在清单中为webcal://伪协议和使用text/calendar MIME类型的HTTP设置了意图过滤器(见下文)。
这在模拟器中非常好,但在一个真正的设备上,我遇到了问题。webcal://过滤器起作用,但text/calendar过滤器不起作用。相反,浏览器将普通文件显示为纯文本,而不是将URL传递给我的应用程序。
我检查了浏览器是否被配置为ical (在Settings->Applications-> browser中)的默认处理程序,并询问其他几个人是否可以在他们的手机上重现这个问题。结果都是一样的。
注册文本/日历URL的正确方法是什么?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.splitbrain.giraffe"
android:versionName="0.31" android:versionCode="4">
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Light.NoTitleBar">
<activity android:label="@string/app_name" android:name="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<action android:name="android.intent.action.VIEW"></action>
<data android:mimeType="text/calendar" android:scheme="http"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"></category>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="webcal"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
<activity android:name="OptionsActivity"></activity>
<activity android:name="DetailActivity"></activity>
<activity android:name="AboutActivity"></activity>
</application>
</manifest>更新:在Android1.6仿真器中运行良好,但在2.3.3仿真器上显示的行为与我的手机相同。这是Android系统中的一个bug吗?
发布于 2011-07-25 19:05:13
https://stackoverflow.com/questions/6738062
复制相似问题