在app中调起应用商店进行下载

在app中调用应用商店进行下载

方法一:

这种方法比较直接,使用该方式的话,如果存在多个应用商店的话,可能就需要用户选择。

    public void goToMarket(View view){
        Uri uri = Uri.parse("market://details?id=" + "com.cleanmaster.security_cn");
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        try {
            this.startActivity(goToMarket);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
        }
    }

如果只是想展示搜索结果页:

public void goSearchMarket(View view){
    Uri uri = Uri.parse("market://search?q=" + "猎豹安全大师");
    Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
    try {
        startActivity(goToMarket);
    } catch (ActivityNotFoundException e) {
        e.printStackTrace();
    }
}

方法二,启动指定activity

    public void goToActivity(View view){
        public static final String targetName = "com.gionee.aora.market";

        Uri uri = Uri.parse("market://details?id=" + "com.cleanmaster.security_cn");
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        goToMarket.putExtra("GIONEE_DOWNLOAD_APP",true);
        goToMarket.setClassName(targetName,targetName+".gui.details.IntroductionDetailActivity");
        try {
            startActivity(goToMarket);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
        }
    }

采用这种方式的话,就需要先去了解启动的activity中包和类名,参考方式:

  1. 在手机安装查看
    参考adb命令:adb shell activity | grep ACTIVITY
  2. 反编译进行查看
    参考工具:https://github.com/skylot/jadx

至于传递的参数,要自行去该类中查看,看是否留有设置参数的后门。这里传递的参数是设置自动下载,只对金立应用商店有效。

在给一篇更相信的文章:https://www.cnblogs.com/xuan52rock/p/6475551.html

你可能感兴趣的:(在app中调起应用商店进行下载)