誰かが私を助けてくれることを望んでいるクイック検索バーで問題が発生しています。
私のアプリケーションには、アプリケーション内で検索動作を提供するために使用される Searchable アクティビティが含まれています。その検索アクティビティは、検索項目がクリックされたときに別のインテントをトリガーして、別のアクティビティが表示を処理するように設計されています。アプリケーション内で使用すると、検索動作は毎回完璧に機能します。
私のアプリケーションには、検索候補を提供するために使用される ContentProvider も含まれており、クイック検索バーでも使用できるように構成されています。アプリケーション自体で使用すると、検索候補の使用は使用されるたびに正常に機能します。QSB からトリガーされると、最初の検索候補によって表示アクティビティが適切に表示されます。ただし、その時点以降、アプリケーション内から検索候補を使用すると (つまり、検索を呼び出して検索候補を選択すると)、表示アプリケーションのトリガーに失敗します。実際、Searchable アクティビティ内のすべての「onXXX()」メソッドにデバッグ ステートメントを配置しましたが、それらのいずれもがトリガーされることはありません。反対に、同じポイントで標準検索をトリガーすると (つまり、クエリ文字列を入力して Enter キーを押すと、
私は現在、なぜこれが発生するのかを判断しようとして途方に暮れています。何か案は
いくつかの追加情報として、私のマニフェストには、検索可能なアクティビティ (「.activity.SearchableActivity」)、提案プロバイダー (「.content.TestSuggestionProvider」)、およびコンテンツの表示に使用されるアクティビティ (「.activity. TestDisplayActivity"):
<activity
android:name=".activity.TestDisplayActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:finishOnTaskLaunch="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="android.app.default_searchable" android:value=".activity.SearchableActivity" />
</activity>
<activity
android:name=".activity.SearchableActivity"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/>
</activity>
<provider
android:name=".content.TestSuggestionProvider"
android:authorities="com.test.provider.suggest"
android:syncable="false"
/>
以下は、検索可能なアクティビティの設定をさらに定義するために使用される XML です。
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/search_app_label"
android:hint="@string/search_app_hint"
android:searchSettingsDescription="@string/search_app_settings_description"
android:includeInGlobalSearch="true"
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
android:searchSuggestAuthority="com.test.provider.suggest"
android:searchSuggestIntentAction="android.intent.action.VIEW">
</searchable>
何かご意見は?現時点では、私は完全に途方に暮れています…</p>