如何启动 <provider/> 标签(启动 Shazam 搜索 activity)
How to launch a <provider/> tag (Launching Shazam search activity)
我想在 Shazam 中开始搜索 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 );
等等...
我还检查了这些 post post 1 and post 2。但没有找到任何帮助。
ContentProvider
不能像 Activity
.
这样的意图 "launched"
提供程序是一个组件,旨在为某些数据提供接口。可以通过 ContentResolver
访问数据。
一些 ContentProvider
还允许从其他应用程序访问。这通常记录在某处,提供访问数据所需的 URL 和有关数据本身的详细信息。这样的例子就是联系人提供者,用于访问存储在设备上的所有联系人信息。
从您尝试访问的提供的清单声明来看,我认为它只能由 Shazam 应用程序本身访问,因此无法访问它提供的数据。
我想在 Shazam 中开始搜索 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 );
等等...
我还检查了这些 post post 1 and post 2。但没有找到任何帮助。
ContentProvider
不能像 Activity
.
提供程序是一个组件,旨在为某些数据提供接口。可以通过 ContentResolver
访问数据。
一些 ContentProvider
还允许从其他应用程序访问。这通常记录在某处,提供访问数据所需的 URL 和有关数据本身的详细信息。这样的例子就是联系人提供者,用于访问存储在设备上的所有联系人信息。
从您尝试访问的提供的清单声明来看,我认为它只能由 Shazam 应用程序本身访问,因此无法访问它提供的数据。