为什么这个代码运行?安卓

时间:2011-04-21 02:21:19

标签: android

当tempPackageName_pInfo =“aaaa.asaddsdaa”时 “aaaa.asaddsdaa”是Android市场上不存在的包名。 为什么代码在“if”中运行。它应该运行“else”

for (PackageInfo pInfo : appinstalled) {
        String tempPackageName_pInfo = pInfo.packageName.toString();
        appinstalledTest = pm
                .getInstalledApplications(PackageManager.GET_PERMISSIONS);
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse("market://details?id="
                + tempPackageName_pInfo));
        List<ResolveInfo> list = pm.queryIntentActivities(intent,
                PackageManager.MATCH_DEFAULT_ONLY);// 0
    if (list.size() > 0) { runIf(); } else { runElse(); }

抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

正如queryIntentActivities

的文档中所述
  

检索可以为给定意图执行的所有活动。

据我所知,这意味着至少有市场活动,可以为此意图进行预测。此方法不能依赖于市场中存在的这个特定包。