app跳转到应用市场上去更新,对开发者来说可以省很多的事。
直接看代码:
Intent intent=new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.APP_MARKET");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
运行效果如下:
选择对应的可以启动应用市场。
可以在应用市场搜索相应的app,但是似乎不能满足我们的需求,能否直接跳转到app详情页面?如果该应用市场没有我们所需的app怎么办?
继续:
- 先扫描手机内所有的应用市场
Intent intent = new Intent();
intent.setAction("android.intent.action.MAIN");
intent.addCategory("android.intent.category.APP_MARKET");
PackageManager pm = this.getPackageManager();
List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0);
int size = infos.size();
for (int i = 0; i < size; i++) {
ActivityInfo activityInfo = infos.get(i).activityInfo;
String packageName = activityInfo.packageName;
//获取应用市场的包名
}
主流应用市场的包名如下:
com.tencent.android.qqdownloader 应用宝
com.qihoo.appstore 360手机助手
com.wandoujia.phoenix2 豌豆荚
com.taobao.appcenter 淘宝手机助手
com.hiapk.marketpho 安卓市场
cn.goapk.market 安智市场
其他应用市场的包名可以用上述方法获取。
可以将一下条件的应用市场筛选数来:
- 该市场存在你所需要更新的app
- 手机里安装了该应用市场
点击相应的市场跳转到app的详细页面
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("market://details?id=" + "com.cailaiwang.app");//app包名
intent.setData(uri);
intent.setPackage("com.tencent.android.qqdownloader ");//应用市场包名
startActivity(intent);