在很多小米手机中,当我用这个代码打开谷歌play商店时,小米商店就打开了。
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
如何避免这种情况并检查是否安装了 Google Play 商店并仅打开 Google Play 商店?
最佳答案
您可以设置 Intent
的包裹到com.android.vending
,这是 Play 商店应用程序的包名称。这将使得只有该应用程序会收到 Intent。
基于 Linking to Google Play :
Kotlin :
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://
URLs,但我没有测试过,因为我没有小米手机来确认。
关于android - 如何避免以编程方式在Android上打开其他Android商店并仅打开Google Play商店?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63442430/