android 跳转商城,Android根据渠道跳转应用商店

判断当前app的渠道号

int channelCode = BuildConfig.CHANNEL_CODE

获取当前手机包含的应用商店

/** * 获取当前手机上的应用商店数量

* @param context

* @return

*/

private static ArrayList queryInstalledMarketPkgs(Context

context) {

ArrayList pkgs = new ArrayList<>();

if (context == null)

return pkgs;

Intent intent = new Intent();

intent.setAction("android.intent.action.MAIN");

intent.addCategory("android.intent.category.APP_MARKET");

PackageManager pm = context.getPackageManager();

List infos = pm.queryIntentActivities(intent, 0);

if (infos == null || infos.size() == 0)

return pkgs;

int size = infos.size();

for (int i = 0; i < size; i++) {

String pkgName = "";

try {

ActivityInfo activityInfo = infos.get(i).activityInfo;

pkgName = activityInfo.packageName;

} catch (Exception e) {

e.printStackTrace();

}

if (!TextUtils.isEmpty(pkgName))

pkgs.add(pkgName);

}

return pkgs;

}

应用商店跳转

/** *

* @param appPkg 应用包名

* @param marketPkg 应用商店包名

* @param context

*/

private static void launchAppDetail(String appPkg, String marketPkg,

Context context) {

try {

if (TextUtils.isEmpty(appPkg))

return;

Uri uri = Uri.parse("market://details?id=" + appPkg);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

if (!TextUtils.isEmpty(marketPkg))

intent.setPackage(marketPkg);

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent);

} catch (Exception e) {

e.printStackTrace();

}

}

应用商店网页版跳转

Uri uri = Uri.parse("应用商店app网页版地址");

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

context.startActivity(intent);

根据渠道号和手机上包含的应用商店决定跳应用商店或者跳应用商店网页版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值