Frage

Ich habe eine Anwendung mit zwei Suchvorschlagsanbietern, die beide erweitert werden SearchRecentSuggestionsProvider, und ich habe es in der Manifestdatei wie folgt korrekt eingerichtet Intent Filter und Metadaten:

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

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

Die durchsuchbare Ressource umfasst android:includeInGlobalSearch="true", also sollte das in Ordnung sein.

Und da habe ich natürlich auch einen Anbieter:

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

Unter Android 4.3 funktionierte das alles problemlos mit der Google-Suchanwendung, aber ich habe gerade alle meine Geräte auf Android 4.4 aktualisiert und kann in meiner Anwendung nicht mehr nach Inhalten suchen.Das Gleiche gilt für andere Anwendungen, die vor dem Betriebssystem-Update funktionierten, d. h.Google Play Musik.

Ich habe einen Thread über XDA-Entwickler gefunden, der dies ebenfalls erwähnt, falls es hilft: http://forum.xda-developers.com/showthread.php?p=47472102

Hat jemand eine Idee, was passiert oder wie es behoben werden kann?

Aktualisieren:Ich kann bestätigen, dass es nur auf Geräten mit Android 4.4 auftritt.Ich habe es auf einem Android 4.3-Gerät mit dem neuesten Update der Google-Suche getestet und es funktioniert wie erwartet.Es scheint ein Fehler im Google-Update zu sein.

War es hilfreich?

Lösung

Ich habe dieses Commit in AOSP gefunden, das möglicherweise damit zusammenhängt:https://android.googlesource.com/platform/packages/apps/QuickSearchBox/+/ecf356c15143ab0583c64682de16d94a57f7dd1c

Die Commit-Nachricht teilt uns mit, dass diese Funktion aus Leistungsgründen entfernt wurde (was möglicherweise zutrifft, da sie auf eine interne Ticket-ID verweist und ich im offiziellen Bugtracker kein entsprechendes Problem dazu gefunden habe).

Andere Tipps

Ich habe bei Kontakten bei Google nachgefragt und App-Indexierung ersetzt dies.Die Dokumentation wird aktualisiert, um anzuzeigen, dass dies veraltet ist, und es gibt keine Möglichkeit, diese Funktion auf Kit Kat ohne Berechtigungen auf Systemebene zum Laufen zu bringen (wie iDev oben gezeigt hat).

Google Chrome wird seit dem letzten Update (v31) nun als durchsuchbare App angezeigt.

Systemanwendung:

Habe es mal so versucht

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top