我正在尝试将我的
Android应用注册为iCal网址的处理程序.为此,我在我的Manifest中为webcal://伪协议和使用text / calendar MIME类型的HTTP URL设置了intent过滤器(见下文).
这在模拟器中工作得非常好,但在真实设备上我遇到了问题. webcal://过滤器可以工作,但文本/日历没有.相反,浏览器将ical文件显示为纯文本,而不是将URL传递给我的应用程序.
我检查了浏览器没有配置为ical的默认处理程序(在Settings-> Applications-> Browser中),我问了一些其他人是否可以在他们的手机上重现问题.都具有相同的结果.
<?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>
更新:在Android 1.6模拟器中,上述工作正常,但在2.3.3模拟器上没有显示与我手机上相同的行为.这可能是Android中的一个错误吗?