Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免在android上以编程方式打开其他android商店和仅打开Google Play商店?_Android_Android Intent_Google Play - Fatal编程技术网

如何避免在android上以编程方式打开其他android商店和仅打开Google Play商店?

如何避免在android上以编程方式打开其他android商店和仅打开Google Play商店?,android,android-intent,google-play,Android,Android Intent,Google Play,在许多Mi手机中,当我使用此代码打开Google play商店时,Mi商店就会打开 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 如何避免这种情况,并检查是否安装了Google play store并仅打开Google play store?您可以将Intent的软件包设置为com.android.vending,这是pla

在许多Mi手机中,当我使用此代码打开Google play商店时,Mi商店就会打开

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));

如何避免这种情况,并检查是否安装了Google play store并仅打开Google play store?

您可以将
Intent
的软件包设置为
com.android.vending
,这是play store应用程序的软件包名称。这将使得只有该应用程序才会收到该意图

基于:

科特林:

val-appPackageName=“your.package.name.here”
val intent=intent(intent.ACTION\u视图)。应用{
data=Uri.parse(
"https://play.google.com/store/apps/details?id=$appPackageName”)
setPackage(“com.android.vending”)
}
星触觉(意图)
爪哇:

String appPackageName=“your.package.name.here”;
意向意向=新意向(意向.行动\视图);
intent.setData(Uri.parse(
"https://play.google.com/store/apps/details?id=“+appPackageName”);
intent.setPackage(“com.android.vending”);
星触觉(意向);
如果未安装Play Store,则
startActivity
调用将抛出一个,您可以捕捉到

我相信这也适用于
市场://
URL,但我还没有测试过,因为我没有Mi电话来确认