如何用我的应用程序打开其他活动应用程序?

时间:2012-11-27 14:09:54

标签: android android-intent podcast

我想知道如何从我的应用中打开MixCLoud应用程序( - > LINK)。您可能知道,这是一个像deezer这样播放音频播客的应用程序。我有一个来自MixCLoud网站播客的URL“URL”,从我的应用程序中我想用URL打开MixCLoud,播放该播客而不在应用中搜索它。

我的代码是这样的:

Intent i = getPackageManager().getLaunchIntentForPackage("com.mixcloud.player"); // mixcloud package
            Uri u = Uri.parse(URL);
            i.setData(u);
            i.addCategory(Intent.CATEGORY_LAUNCHER);
            startActivity(i);

当然,它在主页上打开了Mixcloud。 如果有人知道如何直接在播客上打开MixCloud应用程序,我需要你的帮助!

谢谢!

PS:对不起,语言错误,英语不是我的la la语言。

1 个答案:

答案 0 :(得分:0)

我认为您无法启动特定意图,因为packageManager只会返回包含intent-filter CATEGORY_LAUNCH的意图。请参阅此thread

相反,要从您的应用启动应用,请尝试以下操作:

protected void startAppFromPackageName(String packageName) {
        Intent mIntent = getPackageManager().getLaunchIntentForPackage(packageName);
        if (mIntent != null) {
            try {
                startActivity(mIntent);
            } catch (ActivityNotFoundException err) {
                Log.i(TAG, "the App : " + packageName + " is not installed");
            }
        }
        else {
            Log.i(TAG, "the App : " + packageName + " is not installed");
        }
    }

并将其称为:

startAppFromPackageName("com.mixcloud.player");