一、
工具类:
- public static Intent getIntent(Context paramContext)
- {
- StringBuilder localStringBuilder = new StringBuilder().append("market://details?id=");
- String str = paramContext.getPackageName();
- localStringBuilder.append(str);
- Uri localUri = Uri.parse(localStringBuilder.toString());
-
- //跳转到360市场评分
- //ComponentName cn = new ComponentName("com.qihoo.appstore",
// "com.qihoo.appstore.activities.SearchDistributionActivity"); - //intent.setComponent(cn);
-
- return new Intent("android.intent.action.VIEW", localUri);
- }
- //直接跳转不判断是否存在市场应用
- public static void start(Context paramContext, String paramString)
- {
- Uri localUri = Uri.parse(paramString);
- Intent localIntent = new Intent("android.intent.action.VIEW", localUri);
- localIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- paramContext.startActivity(localIntent);
- }
- public static boolean judge(Context paramContext, Intent paramIntent)
- {
- List<ResolveInfo> localList = paramContext.getPackageManager().queryIntentActivities(paramIntent,PackageManager.GET_INTENT_FILTERS);
- if ((localList != null) && (localList.size() > 0)){
- return false;
- }else{
- return true;
- }
- }
实现跳转:
- Intent i = GetUri.getIntent(GetMarketActivity.this);
- boolean b = GetUri.judge(GetMarketActivity.this, i);
- if(b==false)
- {
- startActivity(i);
- }
文章源自:http://www.apkbus.com/forum.php?mod=viewthread&tid=57390&extra=page%3D1&ordertype=2
二、
//判断市场是否存在的方法
public static boolean isAvilible(Context context, String packageName){
final PackageManager packageManager = context.getPackageManager();//获取packagemanager
List< 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
}
//判断360市场是否存在
if (GetUri.isAvilible(AppsActivity.this, "com.qihoo.appstore")) {
//市场存在
}else{
//市场不存在
}