正在将用户发送到App。如果应用不存在,请发送至Playstore

时间:2018-09-18 16:48:43

标签: java android-studio android-intent start-activity

我使用此代码将用户发送到其他应用程序。如果用户的手机上不存在该应用程序,则我不会将该用户发送到Playstore。我在搜索示例,但没有找到任何东西。

// Launch My App one after clicking the button1
public void launchAppOne(View view) {
    Intent launchAppOne= getPackageManager().getLaunchIntentForPackage("com.app.android.myapp1");
    startActivity(launchAppOne);
}
// Launch My A after clicking the button2
public void launchAppTwo(View view) {
    Intent launchAppTwo = getPackageManager().getLaunchIntentForPackage("com.app.android.myapp2");
    startActivity(launchAppTwo);
}

1 个答案:

答案 0 :(得分:1)

您可以使用此代码。它会尝试启动该应用程序,如果不存在,则会打开该应用程序的Playstore页面。

String packageName = "org.mozilla.firefox";
Intent intent= getPackageManager().getLaunchIntentForPackage(packageName);
if (intent != null){
    startActivity(intent);
}else{
    try {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)));
    }catch (android.content.ActivityNotFoundException anfe) {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName)));
    }
}