Pregunta

Tengo una solicitud que tiene dos proveedores de sugerencias de búsqueda que ambos extienden SearchRecentSuggestionsProvider, y lo configuré correctamente en el archivo manifiesto con el siguiente filtro de Intent y meta-data:

<intent-filter>
   <action android:name="android.intent.action.SEARCH" />
</intent-filter>

<meta-data
   android:name="android.app.searchable"
   android:resource="@xml/searchable_tv" />

El recurso audible incluye android:includeInGlobalSearch="true", por lo que debería estar bien.

y obviamente tengo un proveedor allí también:

<provider
   android:name="com.miz.contentprovider.TvShowContentProvider"
   android:authorities="com.miz.contentprovider.TvShowContentProvider"
   android:exported="true" />

Todo esto funcionó bien en Android 4.3 utilizando la aplicación de búsqueda de Google, pero acabo de actualizar todos mis dispositivos a Android 4.4 y ya no puedo buscar contenido dentro de mi solicitud. Lo mismo ocurre con otras aplicaciones que trabajaron antes de la actualización del sistema operativo, es decir. Google Play Music.

He encontrado un hilo en los desarrolladores de XDA que también menciona esto, si ayuda: http://forum.xda-developers.com/showthread.php?p=47472102

¿Alguien tiene alguna idea de lo que está sucediendo o cómo se puede arreglar?

Actualización: Puedo confirmar que solo ocurre en dispositivos con Android 4.4. He probado en un dispositivo Android 4.3 utilizando la última actualización de Búsqueda de Google, y funciona como se espera. Parece que es un error en la actualización de Google.

¿Fue útil?

Solución

Encontré que este compromiso en AOSP, que podría estar relacionado: https://android.googlesource.com/platform/packages/apps/QuickSearchBox/+/ecf356c15143ab0583c64682de16d94a57f7dd1c

El mensaje de confirmación nos dice que esta característica se eliminó debido a razones de rendimiento (que podría o no ser cierto, dado que referencias a una identificación de boletos interna y no encontré un problema relacionado sobre esto en el BugTracker oficial).

Otros consejos

Revisé con contactos en Google, y La indexación de la aplicación está reemplazando esto.La documentación se actualizará para mostrar esto según se desactiva, y no hay forma de obtener esta función para trabajar en Kit Kat sin permisos de nivel de sistema (como se mostró IDEV anteriormente).

Google Chrome aparece ahora como una aplicación de búsqueda desde su última actualización (V31).

Aplicación del sistema:

hemos intentado así

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.globalsearch" android:sharedUserId="android.uid.shared">
    <uses-permission android:name="android.permission.GLOBAL_SEARCH" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
    <application android:label="@string/global_search" android:process="android.process.acore">
        <activity android:name=".GlobalSearch" android:permission="android.permission.GLOBAL_SEARCH_CONTROL" android:stateNotNeeded="true" android:theme="@android:style/Theme.NoDisplay" android:excludeFromRecents="true">
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <!-- This must be higher than the default priority (0), which
is what GoogleSearch uses. -->
            <intent-filter android:priority="500">
                <action android:name="android.search.action.GLOBAL_SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" />
        </activity>
        <activity android:name=".SearchSettings" android:label="@string/search_settings">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.search.action.SEARCH_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <provider android:name=".SuggestionProvider" android:authorities="com.android.globalsearch.SuggestionProvider" android:permission="android.permission.GLOBAL_SEARCH_CONTROL" />
        <provider android:name=".StatsProvider" android:authorities="com.android.globalsearch.stats" android:permission="android.permission.GLOBAL_SEARCH_CONTROL" />
        <meta-data android:name="android.app.default_searchable" android:value=".GlobalSearch" />
    </application>
</manifest>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top