Android 从当前应用程序打开应用程序

Android 从当前应用程序打开应用程序,android,android-intent,Android,Android Intent,我有一个Android应用程序,可以打开我使用的另一个应用程序: Intent intent = new Intent(); PackageManager manager = getPackageManager(); intent = manager.getLaunchIntentForPackage("myOtherAppPackageName"); intent.addCategory(Intent.CATEGORY_LAUNCHER); startActivity(intent); 它工

我有一个Android应用程序,可以打开我使用的另一个应用程序:

Intent intent = new Intent();
PackageManager manager = getPackageManager();
intent = manager.getLaunchIntentForPackage("myOtherAppPackageName");
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);

它工作得很好,唯一的一件事是当我没有安装其他应用程序时,应用程序强制关闭,这很有意义。我的问题是,如果某人还没有其他应用程序,如何让我的应用程序打开特定应用程序的Play Store以供下载?我想我也会做同样的事情,只是我没有Play Store的软件包名称

如果您有包名,您可以这样做

Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
                    "market://details?id=" + "packagename"));
                startActivity(marketIntent);

这将启动该应用程序页面上的play store

如果您知道package让我们使用以下示例代码:

public void offerApp(Activity activity) {
    Log.d("Launching Market");
    Intent i = new Intent(Intent.ACTION_VIEW,
            Uri.parse("market://details?id=<PACKAGE>"));
    activity.startActivity(i);
}
公共无效报价(活动){
Log.d(“启动市场”);
意向i=新意向(意向.行动\视图,
解析market://details?id="));
活动性、触觉性(i);
}

非常感谢!现在让我问另一个简短的问题。因为我不知道他们是否拥有它,如果他们还没有,我需要抛出什么异常才能将他们重定向到市场?我相信这是
ActivityNotFoundException
,但也可能是
NameNotFoundException
。为了确保我会卸载应用程序,让它崩溃,这样你就可以确定了。您还可以使用
PackageInfo info=pm.getPackageInfo(“packagename”,PackageManager.GET_META_DATA)预先进行检查在一个try/catch中,您捕获了
NameNotFoundException