在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中包和类名,参考方式:
- 在手机安装查看
参考adb命令:adb shell activity | grep ACTIVITY
- 反编译进行查看
参考工具:https://github.com/skylot/jadx
至于传递的参数,要自行去该类中查看,看是否留有设置参数的后门。这里传递的参数是设置自动下载,只对金立应用商店有效。
在给一篇更相信的文章:https://www.cnblogs.com/xuan52rock/p/6475551.html
网友评论