【问题标题】:Java: Need some way to shorten this codeJava:需要一些方法来缩短这段代码
【发布时间】:2010-07-19 11:31:10
【问题描述】:

我想缩短这段代码...

    PackageManager p = context.getPackageManager();
    final List<PackageInfo> appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
    PackageManager pro = context.getPackageManager();
    final List<PackageInfo> apllprovides = pro.getInstalledPackages(PackageManager.GET_PROVIDERS);

我非常恼火地一次又一次地添加新的标志权限,我需要做几次,有没有更短的方法可以将所有标志放在同一个定义上...... ???

让我这样说,我可以这样做......??? (当然这会产生错误,但类似..)

    PackageManager p = context.getPackageManager();
    final List<PackageInfo> appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS).addFlag(PackageManager.GET_PROVIDERS);

【问题讨论】:

  • 如果我遗漏了一些明显的东西,我很抱歉,那样我可能会很愚蠢......:P
  • 我不确定我是否理解正确,但你为什么要这样做?您想为您的活动添加权限吗?然后您可以在清单文件中执行此操作。
  • 不,我试图从已安装的软件包中检索权限。除了权限之外,我还打算检索内容提供者、服务等。每次我需要为包设置标志,所以我想知道是否有办法在同一个声明上分配多个标志......
  • 请发布您遇到了什么错误?
  • 它解决了...当我这样做时出现语法错误,Ck 下面发布了我的问题的解决方案...

标签: java android


【解决方案1】:

如果它的语法与 C# 相同并且标志设置正确,您可以这样做:

PackageManager p = context.getPackageManager(); 
final List<PackageInfo> appinstall = 
    p.getInstalledPackages(PackageManager.GET_PERMISSIONS | 
                                      PackageManager.GET_PROVIDERS)

【讨论】:

    【解决方案2】:
    public void usegetPackageInfo(){
        // 
        final ListView lw = (ListView) findViewById(R.id.listView1);
    
        PackageManager p = lw.getContext().getPackageManager(); 
        final List<PackageInfo> appinstall = 
            p.getInstalledPackages(PackageManager.GET_PERMISSIONS | 
                                              PackageManager.GET_PROVIDERS);
        final TextView tw = (TextView) findViewById(R.id.textView1);
        Iterator it = appinstall.iterator();
        while (it.hasNext()) {
            PackageInfo rf = (PackageInfo) it.next();
            tw.append(rf.toString());
    
        }
    
    }
    

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多