我遇到了快速搜索栏的问题,希望有人可以帮助我。
我的应用程序包含一个 Searchable 活动,用于在我的应用程序中提供搜索行为。该搜索活动旨在在单击搜索项时触发单独的 Intent,从而导致不同的 Activity 处理查看。在应用程序中使用时,搜索行为每次都能完美运行。
我的应用程序还包括一个用于提供搜索建议的 ContentProvider,并且还配置为允许在快速搜索栏中使用。在应用程序本身中使用时,每次使用搜索建议时都可以正常使用。当从 QSB 触发时,初始搜索建议会按应有的方式显示查看活动。然而,在那之后,在应用程序内对搜索建议的任何使用(即提出搜索并选择搜索建议)都无法触发查看应用程序。事实上,我在 Searchable 活动中的每个“onXXX()”方法中都放置了调试语句,但我从未看到它们中的任何一个被触发。另一方面,当我在同一点触发标准搜索时(即输入查询字符串并按回车键,
我目前不知所措,试图确定为什么会发生这种情况。有任何想法吗
作为一些附加信息,我的清单包含以下关于可搜索活动(“.activity.SearchableActivity”)、建议提供者(“.content.TestSuggestionProvider”)和用于显示内容的活动(“.activity.测试显示活动”):
<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>