问题描述
我们可以在 playmarket 上使用方案“market://dev?id=...”打开此页面,但在应用程序库中它不起作用。如果我们尝试使用 startActivity(Intent(Intent.ACTION_VIEW,uri) 打开像 https://appgallery.huawei.com/#/tab/appdetailCommon%1234%7Cautomore%7Cdoublecolumncardwithstar%1234 这样的链接,它会打开浏览器,而不是应用程序库。
解决方法
以下是一些常见的重定向场景供您参考。
-
重定向到 AppGallery 主页
使用
action
中的Intent
方法来实现该功能。
action: com.huawei.appmarket.intent.action.MainA
示例:
public void launchAGHomePage() {
Intent intent = new Intent("com.huawei.appmarket.intent.action.MainActivity");
startActivity(intent);
}
-
重定向到 AppGallery 上的应用详情页面
使用
action
中的Intent
方法来实现该功能。方法一:通过应用ID
action:com.huawei.appmarket.appmarket.intent.action.AppDetail. withid
setPackage("com.huawei.appmarket");
name: "appId",value: "C100170981"
方法二:通过包名
action: com.huawei.appmarket.intent.action.AppDetail
setPackage("com.huawei.appmarket");
name: "APP_PACKAGENAME",value: "com.huawei.browser"
注意:与方法 2 相比,方法 1 包含来自 appmarket
方法的额外 withid
和 action
参数。
- 启动设备上安装的所有应用商店,以通过 MARKET 将用户重定向到应用商店中应用的详细信息页面
传递方案为market://
的链接。 Android 支持标准的 MARKET 协议,确保所有应用商店都可以在 Android 设备上启动。方法如下:
Method 1: market://details?id=pkgName // for all stores
Method 2: appmarket://details?id=pkgName // only for AppGallery
Method 3: market://com.huawei.appmarket.applink?appId=App ID" // only for AppGallery
注意:方法一是Android设备的标准方法,适用于所有应用商店,例如Google Play和腾讯应用商店。
有关详细信息,请查看此link。