如何启动 标记(启动Shazam搜索活动)
问题描述:
我想在shazam中开始搜索Activity
。根据this没有搜索到shazam的Activity
,只有<provider>
标签。如何启动<provider/>标记(启动Shazam搜索活动)
<provider android:name="com.shazam.android.SearchProvider" android:authorities="shazamSearchEncore" android:syncable="false" />
我试图启动它以不同的方式,但是,因为这不是一个Activity
失败。那么我该如何开始shazam搜索?或者我错过了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);
等等......
答
A ContentProvider
不能由像Activity
这样的意图“启动”。
提供程序是一个组件,用于为某些数据提供接口。数据可以通过ContentResolver
访问。
某些ContentProvider
也允许从其他应用程序访问。这通常记录在某处,提供访问数据所需的URL和数据本身的详细信息。联系人提供程序就是这样一个例子,用于访问设备上存储的所有联系人信息。
从清单声明的外观判断,假设您正在尝试访问,我认为它只能被Shazam应用程序本身访问,所以无法访问它提供的数据。
对我来说太糟糕了。谢谢。 – God