私はAndroidアプリケーションをiCal URLのハンドラとして登録しようとしています。これを行うには、webcal://
擬似プロトコルのマニフェストとtext/calendar
MIMEタイプ(下記参照)を使用するHTTP URLのインテントフィルタを設定します。URLのインテントフィルタ
これはエミュレータでは問題なく動作しますが、実際のデバイスでは問題が発生しています。 webcal://
フィルターが機能しますが、text/calendar
はありません。代わりにブラウザは、アプリケーションにURLを渡す代わりに、icalファイルをプレーンテキストとして表示します。
ブラウザーがic(設定 - >アプリケーション - >ブラウザー内)のデフォルトハンドラーとして設定されていないことを確認しました。私はいくつかの人にモバイルで問題を再現できるかどうか尋ねました。すべて同じ結果です。
テキスト/カレンダーの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>
更新:は、Android 1.6エミュレータではなく、それは私の携帯電話上と同じ動作を示し2.3.3エミュレータ上で正常に動作します上記判明。 Androidのバグでしょうか?
サーバが正しいContent-Typeを正確に送信していない可能性はありますか?そうでない場合、ブラウザは単純なテキストとして解釈します。 regexes *。 –
はい、サーバーは正しいMIMEタイプを送信します。テスト用URLは次のとおりです。http://re-publica.de/11/rp2011.ics –
* .icsのパスパラメータのアプローチで別のフィルタを試しましたか?それでも問題が解決しない場合は、デフォルトのアプリをブラウザに設定して、プロンプトが表示されなくなる可能性がありますか? –