我要开始搜索Activity
在沙赞中。根据this没有搜索Activity
到 Shazam,只有 <provider>
标签。
<provider android:name="com.shazam.android.SearchProvider" android:authorities="shazamSearchEncore" android:syncable="false" />
我尝试以各种方式启动它,但因为这不是 Activity
它失败了。那么如何开始 Shazam 搜索?或者我错过了什么manifest
xml 文件?
我的尝试:
1:
Intent intent = new Intent("com.shazam.android.SearchProvider");
intent.putExtra("query",query);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.context.startActivity(intent);
2:
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 );
等等...
最佳答案
ContentProvider
无法通过 Activity
等 Intent “启动”。
提供者是一个组件,旨在为某些数据提供接口(interface)。数据可以通过 ContentResolver 访问。
某些 ContentProvider
还允许从其他应用进行访问。这通常记录在某处,提供访问数据所需的 URL 以及有关数据本身的详细信息。这样的一个例子是联系人提供程序,用于访问设备上存储的所有联系人信息。
从您尝试访问的提供的 list 声明的外观来看,我认为它只能由 Shazam 应用程序本身访问,因此无法访问它提供的数据。
关于java - 如何启动 <provider/> 标签(启动 Shazam 搜索 Activity ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36839571/