app的flag和 系统的flag “与“ 操作就能判断是不是系统的了

解决方案 »

  1.   

    晕,楼上方法对的,就算那样,你也是应该用你的api,然后获取文件路径,直接判断就行,应该是sourcedir这个字段
      

  2.   


    没明白,能再详细一点么,刚接触android,很多东西都还不清楚...
      

  3.   

    问题解决了,呵呵,谢谢drsmart了,费了半天时间吧sourceDir这个字段找到了,问题迎刃而解
      

  4.   

    顺便把代码也贴出来好了,对跟我有一样需求的新人朋友也许能用到
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    PackageManager packMan = this.getPackageManager();
    List<PackageInfo> pack = packMan.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); for (int i = 0; i < pack.size(); i++) {
    PackageInfo p = pack.get(i);
    String s = p.applicationInfo.sourceDir;
    Log.v(tag, p.applicationInfo.sourceDir);
    if (s.substring(0, 10).equals("/data/app/")) {
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("name", p.applicationInfo.loadLabel(packMan));
    list.add(map);
    }
    } SimpleAdapter listAdapter = new SimpleAdapter(this, list, R.layout.list, new String[] { "name" },
    new int[] { R.id.TextView01 });
    ListView lv = (ListView) findViewById(R.id.ListView01);
    lv.setAdapter(listAdapter);
      

  5.   


    这个字段 和 判断是否是系统的app有什么联系吗?
    一个flag就够了,你不会是通过路径来判断是否是系统的app吧
      

  6.   

    那个flag我设置了,可是最后还是取出来了所有的程序,过滤没有效果啊~~~