在许多Mi手机中,当我使用此代码打开Google Play商店时,MI商店就会打开。
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
如何避免这种情况,并检查是否已安装Google Play商店并仅打开Google Play商店?
答案 0 :(得分:2)
您可以将Intent
的程序包设置为com.android.vending
,这是Play商店应用的程序包名称。这样可以使只有该应用才能收到该Intent。
科特琳:
val appPackageName = "your.package.name.here"
val intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse(
"https://play.google.com/store/apps/details?id=$appPackageName")
setPackage("com.android.vending")
}
startActivity(intent)
Java:
String appPackageName = "your.package.name.here";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(
"https://play.google.com/store/apps/details?id=" + appPackageName));
intent.setPackage("com.android.vending");
startActivity(intent);
如果未安装Play商店,则startActivity
调用将引发ActivityNotFoundException
,您可以抓住它。
我相信这也可以与market://
网址一起使用,但是由于没有Mi手机可以确认,因此我没有进行测试。