我遇到了快速搜索栏的问题,我希望有人可以帮助我。
我的应用程序包含一个可搜索的活动,用于在我的应用程序中提供搜索行为。该搜索活动旨在在单击搜索项时触发单独的Intent,以便使不同的Activity处理查看。在应用程序中使用时,搜索行为每次都能完美运行。
我的应用程序还包括用于提供搜索建议的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>
有什么想法?目前我完全失去了......