@ZeroGeek
2015-09-01T04:42:52.000000Z
字数 1920
阅读 793
未分类
public void goAction() {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;Log.i(TAG, "packageName : " + packageName);}*/startActivity(intent);}
日志:
09-01 10:13:17.779 8818-8818/com.zero.tomarketdemo I/MainActivity﹕ packageName : com.meizu.mstore
09-01 10:13:17.779 8818-8818/com.zero.tomarketdemo I/MainActivity﹕ packageName : com.android.vending
09-01 10:13:17.779 8818-8818/com.zero.tomarketdemo I/MainActivity﹕ packageName : com.wandoujia.phoenix2
版本都可用
String str = "market://details?id=" + getPackageName();Intent localIntent = new Intent("android.intent.action.VIEW");localIntent.setData(Uri.parse(str));startActivity(localIntent);
private boolean isAvilible(Context context, String packageName){final PackageManager packageManager = context.getPackageManager();//获取packagemanagerList<PackageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息List<String> pName = new ArrayList<String>();//用于存储所有已安装程序的包名//从pinfo中将包名字逐一取出,压入pName list中if(pinfo != null){for(int i = 0; i < pinfo.size(); i++){String pn = pinfo.get(i).packageName;pName.add(pn);}}return pName.contains(packageName);//判断pName中是否有目标程序的包名,有TRUE,没有FALSE}
public static boolean hasAnyMarketInstalled(Context context) {Intent intent = new Intent();intent.setData(Uri.parse("market://details?id=android.browser"));List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);return list.size() > 0;}
