如何从应用程序中调用外部应用程序?

例如:我需要打电话 Shazam (应用程序)来自我的应用程序。我可以在 logcat.

这对任何目的都有用吗?

有帮助吗?

解决方案

您可以通过以下方式调用第三方申请的活动。

final Intent shazamIntent = new Intent("com.shazam.android");                
shazamIntent .setComponent(new  ComponentName("com.shazam.android","com.shazam.android.Splash"));
startActivity(shazamIntent );

但是,这不是一个好方法。如果包装名称更改(这是非常遥远的可能性)或活动名称更改(Splash 可以更改为其他东西)您的应用程序会破裂。如果Shazam的意图可以调用,可以开始听歌曲的使用(不确定他们是否有)。

另外,如果未安装Shazam,则需要检查您的电话不会崩溃。

其他提示

创建应用程序的启动器意图对象并说起始性。

专门针对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小部件时发出的意图。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top