2

我遇到了快速搜索栏的问题,希望有人可以帮助我。

我的应用程序包含一个 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>

4

0 回答 0