1

URL でアプリケーションを起動する代わりに、アプリケーションをブラウザ自体 (この場合は mozella) にロードするという奇妙な問題が発生しています。

これが私のアプリケーションに使用しているインテント フィルターです。誰かが間違っていることを教えてください。

<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<application
    android:name=".Globals"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".RSS_ViewerActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <intent-filter>
               <action android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:scheme="itpc" />
               <data android:scheme="pcast" />
               <data android:scheme="feed" />
               <data android:scheme="feeds" />
               <data android:scheme="rss" />
        </intent-filter>

        <intent-filter>
               <action android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:mimeType="text/xml" android:scheme="http" />
               <data android:mimeType="application/rss+xml" android:scheme="http" />
               <data android:mimeType="application/atom+xml" android:scheme="http" />
               <data android:mimeType="text/xml" android:scheme="https" />
               <data android:mimeType="application/rss+xml" android:scheme="https" />
               <data android:mimeType="application/atom+xml" android:scheme="https" />
        </intent-filter>

    </activity>
    <activity android:name="RSSFeedActivity"></activity>
    <activity android:name="com.CertificateAuthentication.Authenticator"></activity>
</application>

ありがとう。

アップデート

もう少し情報を追加すると、選択を求めるダイアログとリンクを開くためのアプリケーションがポップアップ表示されたときに、自分のアプリが表示されることはありません。

アップデート

2 番目と 3 番目のインテント フィルターを削除し、残りの 2 つのインテント フィルターを 1 つにマージしようとしましたが、ブラウザーからアプリが読み込まれません。上記のコードは現在のようになり、以前と同じ結果が得られます =( これは、ユーザーがアプリケーションの 2 つのセッション (1 つはブラウザーから、もう 1 つはランチャーから) を実行できることを意味するため、面倒です。

4

2 に答える 2

0

ここでの問題はです\。これはエスケープ文字なので、この式を機能させるにはが必要\\です。 ドキュメントには、ドットに使用する必要があることが明確に記載されています(の例があります)。\\.\\*

CommonsWareの回答にも同意します。ドキュメントで、次のようなステートメントを見つけました。

これらの各属性はオプションですが、互いに独立しているわけではありません。権限を意味のあるものにするには、スキームも指定する必要があります。パスを意味のあるものにするには、スキームと権限の両方を指定する必要があります。

したがって、実際には、権限とはホストを意味するため、The host and port together constitute the URI authorityそれを省略したり、スターを付けたりすることはできません。

IMOを複雑にしました。ここでパスを定義する必要はありません!MIMEタイプがその仕事をするはずです。RSSを読み取るいくつかのオープンソースプロジェクトを見つけて、それらがマニフェストをどのように定義したかを確認してください。

私はあなたがそのようなものを必要としていたと思います:

<activity
    android:name=".RSS_ViewerActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="itpc" />
        <data android:scheme="pcast" />
        <data android:scheme="feed" />
        <data android:scheme="feeds" />
        <data android:scheme="rss" />
        <data android:mimeType="text/xml" android:scheme="http" />
        <data android:mimeType="application/rss+xml" android:scheme="http" />
        <data android:mimeType="application/atom+xml" android:scheme="http" />
        <data android:mimeType="text/xml" android:scheme="https" />
        <data android:mimeType="application/rss+xml" android:scheme="https" />
        <data android:mimeType="application/atom+xml" android:scheme="https" />
    </intent-filter>

</activity>
于 2012-08-13T14:25:59.003 に答える
0

ワイルドカードをサポートするように文書化されていないため、 2 番目と 3 番目<intent-filter>の要素は機能しない可能性があります。android:host

于 2012-08-13T12:21:36.830 に答える