Shouvik
Shouvik

Reputation: 11740

Java: Need some way to shorten this code

I have this piece of code that I would like to shorten...

    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);

I am seriously irritated to do this again and again to add new flag permissions, and I need to do it a couple of times, is there a shorter method in which I could put all the flags on the same definition...???

Let me put it this way, can I do this...??? (of course this gives an error, but something similar..)

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

Upvotes: 10

Views: 11679

Answers (3)

zhocker
zhocker

Reputation: 173

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());

    }

}

Upvotes: 3

cjk
cjk

Reputation: 46495

If it's the same syntax as C# and the flags are set properly, you could do this:

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

Upvotes: 10

Praveen
Praveen

Reputation: 91205

check the android Documentation: for permissions: http://developer.android.com/guide/topics/manifest/uses-permission-element.html

for providers: http://developer.android.com/guide/topics/manifest/provider-element.html

Before that Completely study about manifest documentation

Upvotes: 0

Related Questions