搜索建议在从快速搜索栏触发后导致应用程序中的行为不一致

时间:2010-06-11 16:55:59

标签: android search quick-search

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

我的应用程序包含一个可搜索的活动,用于在我的应用程序中提供搜索行为。该搜索活动旨在在单击搜索项时触发单独的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>

有什么想法?目前我完全失去了......

0 个答案:

没有答案