Java 如果未安装应用程序,如何检查是否已从我的应用程序安装该应用程序转到play store?
我有一份申请。。。在我的应用程序中单击按钮,我需要检查手机中是否安装了特定的应用程序。如果应用程序未安装,则应重定向到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
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);