如何从我的应用程序调用外部应用程序?
例如:我需要Shazam
从我的应用程序调用(应用程序)。我可以在logcat
.
这对任何目的都有用吗?
如何从我的应用程序调用外部应用程序?
例如:我需要Shazam
从我的应用程序调用(应用程序)。我可以在logcat
.
这对任何目的都有用吗?
专门针对 Shazam,以下代码有效:
Intent intent = new Intent("com.shazam.android.intent.actions.START_TAGGING");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if(!context.getPackageManager().queryIntentActivities(intent, 0).isEmpty()) {
context.startActivity(intent);
} else {
// Shazam is not installed
}
START_TAGGING
是点击 Shazam 小部件时发出的意图。
您可以通过以下方式调用第三方应用程序的活动。
final Intent shazamIntent = new Intent("com.shazam.android");
shazamIntent .setComponent(new ComponentName("com.shazam.android","com.shazam.android.Splash"));
startActivity(shazamIntent );
但是,这不是解决问题的好方法。如果包名称更改(这是一种非常遥远的可能性)或活动名称更改(Splash
可能更改为其他名称),您的应用程序将中断。如果 Shazam 有一个 Intent 可以被调用来开始听一首歌,使用它(不确定他们是否有)。
此外,如果未安装 Shazam,请进行必要的检查,以免您的通话崩溃。
创建应用程序的启动器意图对象并说 startActivity。