Поисковые предложения, вызывающие противоречивое поведение в приложении после запуска из панели быстрого поиска - PullRequest
2 голосов
/ 11 июня 2010

У меня возникла проблема с панелью быстрого поиска, которая, я надеюсь, кто-то может мне помочь.

Мое приложение включает в себя операцию поиска, используемую для обеспечения поиска в моем приложении.Эта поисковая операция предназначена для запуска отдельного Намерения при щелчке по элементу поиска, чтобы другой Вид деятельности обрабатывал просмотр.При использовании в приложении поведение поиска работает идеально каждый раз.

Мое приложение также включает ContentProvider, используемый для предоставления подсказок для поиска, и также настроен на использование в панели быстрого поиска.При использовании в самом приложении, использование поисковых предложений работает нормально каждый раз, когда оно используется.При запуске из QSB начальное поисковое предложение поднимает активность просмотра, как и должно быть.Однако после этой точки любое использование поисковых предложений из приложения (т. Е. Включение поиска и выбор поискового предложения) не запускает приложение просмотра.Фактически, я поместил операторы отладки в каждый метод onXXX () в операции поиска, и я никогда не видел, чтобы какой-либо из них срабатывал.С другой стороны, когда я запускаю стандартный поиск в той же точке (т.е. введите строку запроса и нажимаю ввод, а не переходя к поисковому предложению), появляется диалоговое окно поиска, как и ожидалось, и выбирается элемент из этого списка.успешно запускает мое приложение.

В настоящее время я в растерянности, пытаясь определить причину этого.Любые идеи

В качестве некоторой дополнительной информации мой манифест содержит следующее в отношении операции поиска (".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>

Есть мысли?На данный момент я в полной растерянности ...

...