0

Ich möchte die Suche Activity in Shazam starten. Laut this gibt es keine Suche Activity zu Shazam, nur ein <provider> Tag.Wie starte ich ein <provider/> Tag (Starten Shazam Suche Aktivität)

<provider android:name="com.shazam.android.SearchProvider" android:authorities="shazamSearchEncore" android:syncable="false" />

Ich versuchte es auf verschiedene Weise zu starten, sondern weil dies kein Activity ist fehlgeschlagen es. Wie starte ich Shazam Suche? Oder fehlt mir etwas in dieser manifest XML-Datei?

Meine Versuche:

:

Intent intent = new Intent("com.shazam.android.SearchProvider"); 
intent.putExtra("query",query); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
this.context.startActivity(intent); 

:

final Intent shazamIntent = new Intent(Intent.ACTION_SEARCH); 
    shazamIntent.setPackage("com.shazam.android.SearchProvider"); 
    shazamIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    this.context.startActivity(shazamIntent); 

Und so weiter ...

Auch überprüfte ich dieseschreiben 210 und post 2. Aber nichts hilfreiches gefunden.

Antwort

2

Ein ContentProvider kann nicht von Intents wie einem Activity "gestartet" werden.

Ein Provider ist eine Komponente, die für die Bereitstellung einer Schnittstelle zu einigen Daten entwickelt wurde. Auf die Daten kann über eine ContentResolver zugegriffen werden.

Einige ContentProvider s erlauben auch den Zugriff von anderen Apps. Dies wird normalerweise irgendwo dokumentiert, wobei die URL angegeben wird, die benötigt wird, um auf die Daten und Details über die Daten selbst zuzugreifen. Ein solches Beispiel ist der Kontaktanbieter, mit dem auf alle Kontaktinformationen zugegriffen wird, die auf dem Gerät gespeichert sind.

Nach dem Aussehen der Manifest-Erklärung der bereitgestellten, dass Sie versuchen zu greifen, denke ich, es kann nur von den Shazam-Anwendungen selbst zugegriffen werden, so gibt es keine Möglichkeit, auf die Daten zugreifen, die es bereitstellt.

+0

Schade für mich. Vielen Dank. – God