Java 如果未安装应用程序,如何检查是否已从我的应用程序安装该应用程序转到play store?

Java 如果未安装应用程序,如何检查是否已从我的应用程序安装该应用程序转到play store?,java,android,Java,Android,我有一份申请。。。在我的应用程序中单击按钮,我需要检查手机中是否安装了特定的应用程序。如果应用程序未安装,则应重定向到play store 我该怎么做请帮忙 public class Example extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConte

我有一份申请。。。在我的应用程序中单击按钮,我需要检查手机中是否安装了特定的应用程序。如果应用程序未安装,则应重定向到play store

我该怎么做请帮忙

public class Example extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //Put the package name here...
        boolean installed  =   appInstalledOrNot("com.Ch.Example.pack");  
        if(installed) {
            //This intent will help you to launch if the package is already installed
            Intent LaunchIntent = getPackageManager()
                .getLaunchIntentForPackage("com.Ch.Example.pack");
            startActivity(LaunchIntent);

            System.out.println("App already installed on your phone");        
        }
        else {
            System.out.println("App is not installed on your phone");
        }
    }

    private boolean appInstalledOrNot(String uri) {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try {
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
            app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e) {
            app_installed = false;
        }
        return app_installed ;
    }
}

上述示例是否适用于检查应用程序是否已安装我的应用程序。

检查应用程序是否已安装的方法是标准方法。要重定向到playStore,可以使用以下代码段

private goToPlayStore(String packageName) {
  Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName))
  startActivity(intent);
}

此外,关于评论,您应该首先检查是否安装了market,软件包名称应为com.android.vending。如果市场不可用,此代码将引发异常。

要检查设备中是否安装了应用程序,请使用以下方法和参数
GooglePlayStorePackageNameOld
googleplaystorepackagenameow
都包含应用程序的包名

private static final String GooglePlayStorePackageNameOld = "com.google.market";
private static final String GooglePlayStorePackageNameNew = "com.android.vending";
使用并相应地修改以下方法,以检查应用程序当前是否安装在设备中

public boolean isAppInstalled() {
            PackageManager packageManager = getApplication().getPackageManager();
            List<PackageInfo> packages = packageManager
                    .getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
            for (PackageInfo packageInfo : packages) {
                if (packageInfo.packageName.equals(GooglePlayStorePackageNameOld)
                        || packageInfo.packageName
                                .equals(GooglePlayStorePackageNameNew)) {
                    googlePlayStoreInstalled = true;
                    break;
                } else {
                    googlePlayStoreInstalled = false;
                }
            }
            return googlePlayStoreInstalled;
        }
编辑 根据你的密码

Intent LaunchIntent = getPackageManager()
                .getLaunchIntentForPackage("com.Ch.Example.pack");
            startActivity(LaunchIntent);

将启动程序包名称为com.Ch.Example.pack的应用程序

您还应注意,并非所有设备都有市场
Intent LaunchIntent = getPackageManager()
                .getLaunchIntentForPackage("com.Ch.Example.pack");
            startActivity(LaunchIntent);