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"を追加するだけです。アンドロイド4.2のいくつかの奇妙な理由のために、フラグは必須です....。

于 2013-01-09T12:03:06.427 に答える
0

アプリは4.2ハードウェアで動作します(Galaxy Nexusでテスト済み)。ブラウザが短時間ポップアップします(4.1 x86エミュレータでは、速すぎるかもしれませんが、気付かないことがあります)。ただし、その後、制御はアクティビティに渡されます。

私の推測では、問題の原因となっているエミュレーターに実装されているブラウザーにバグがあります。

そうは言っても、これが本当にある種のプロプライエタリ構成ファイル用である場合は、アプリでダウンロードを処理することをお勧めします。TextViewユーザーに-as-hyperlinkまたはをクリックさせるのではなくWebView、自分のアプリで構成ファイルのリストを提供し、自分でHttpUrlConnection(またはHttpClient)自分でダウンロードします。

于 2012-12-27T22:25:04.357 に答える
0

OS4.2.1を搭載したGalaxyNexusでテストしました。テストアプリケーションが機能しません。

code.google.comで新しいチケットを開き、フィードバックを待っています

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

于 2013-01-07T08:58:18.680 に答える