2016-04-25 13 views
0

shazamでActivityの検索を開始します。 thisによると、Activityのshazamへの検索はありません。<provider>タグのみです。<provider/>タグを起動する方法(Shazam検索アクティビティの起動)

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

私はさまざまな方法でそれを起動しようとしたが、これは失敗したActivityではありませんので。では、どうやってシャザム検索を始めるのですか?または、manifest xmlファイルに何かがないのですか?

私の試み:

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); 

のように...

はまた、私はこれらの記事をチェックし post 1およびpost 2。しかし何も役に立たないことが分かった。

答えて

2

ContentProviderActivityような意図で「立ち上げ」することはできません。

プロバイダは、いくつかのデータへのインターフェースを提供するために設計されたコンポーネントです。データはContentResolverでアクセスできます。

一部ContentProviderのも、他のアプリからのアクセスを許可します。これは通常、データ自体に関するデータと詳細にアクセスするために必要なURLを提供し、どこかに記載されています。このような例は、デバイスに格納されているすべての連絡先情報にアクセスするために使用される連絡先プロバイダです。

あなたがアクセスしようとしていることのマニフェスト宣言の外観から判断すると、私はそれがShazamアプリケーション自体によってのみアクセス可能であると考えているので、提供するデータにアクセスする方法はありません。私にとっては残念

+0

。ありがとうございました。 – God

関連する問題