Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PackageManager packmngr = this.getPackageManager();
- Intent ints = new Intent(Intent.ACTION_MAIN, null)
- ints.addCategory(Intent.CATEGORY_LAUNCHER);
- List<ResolveInfo> list = packmngr.queryIntentActivities(ints, PackageManager.PERMISSION_GRANTED);
- for(ResolveInfo rlnfo: list)
- {
- //Adjust the code and do tests within here.
- Log.i("ACTIVITY INFO: ", rlnfo.activityInfo.toString());
- Log.i("ACTIVITY NAME: ",rlnfo.resolvePackageName.toString());
- }
- new AppsUtil(this).printInstalledAppPackages(AppsUtil.AppType.SYSTEM);
- import java.util.ArrayList;
- import java.util.List;
- import android.content.Context;
- import android.content.pm.ApplicationInfo;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- import android.content.pm.PackageManager.NameNotFoundException;
- import android.util.Log;
- public class AppsUtil
- {
- public static final String TAG = "PackagesInfo";
- private Context _context;
- private ArrayList<PckgInfo> _PckgInfoList;
- public enum AppType
- {
- ALL {
- @Override
- public String toString() {
- return "ALL";
- }
- },
- USER {
- @Override
- public String toString() {
- return "USER";
- }
- },
- SYSTEM {
- @Override
- public String toString() {
- return "SYSTEM";
- }
- }
- }
- class PckgInfo
- {
- private AppType appType;
- private String appName = "";
- private String packageName = "";
- private String versionName = "";
- private int versionCode = 0;
- private void prettyPrint()
- {
- Log.i(TAG, appName + "n AppType: " + appType.toString() + "n Package: " + packageName + "n VersionName: " + versionName + "n VersionCode: " + versionCode);
- }
- }
- public AppsUtil(Context context)
- {
- super();
- this._context = context;
- this._PckgInfoList = new ArrayList<PckgInfo>();
- }
- public void printInstalledAppPackages(AppType appType)
- {
- retrieveInstalledAppsPackages();
- Log.i(TAG, "");
- for (int i = 0; i < _PckgInfoList.size(); i++)
- {
- if (AppType.ALL == appType)
- {
- _PckgInfoList.get(i).prettyPrint();
- }
- else
- {
- if (_PckgInfoList.get(i).appType == appType)
- _PckgInfoList.get(i).prettyPrint();
- }
- }
- }
- public ArrayList<PckgInfo> getInstalledAppPackages(AppType appType)
- {
- retrieveInstalledAppsPackages();
- ArrayList<PckgInfo> resultPInfoList = new ArrayList<PckgInfo>();
- if (AppType.ALL == appType)
- {
- return _PckgInfoList;
- }
- else
- {
- for (int i = 0; i < _PckgInfoList.size(); i++)
- {
- if (_PckgInfoList.get(i).appType == appType)
- resultPInfoList.add(_PckgInfoList.get(i));
- }
- return resultPInfoList;
- }
- }
- private void retrieveInstalledAppsPackages()
- {
- PackageManager pm = _context.getPackageManager();
- List<PackageInfo> packs = pm.getInstalledPackages(0);
- for (PackageInfo pi : packs)
- {
- try
- {
- PckgInfo newInfo = new PckgInfo();
- ApplicationInfo ai = pm.getApplicationInfo(pi.packageName, 0);
- newInfo.appType = getAppType(ai);
- newInfo.appName = pi.applicationInfo.loadLabel(pm).toString();
- newInfo.packageName = pi.packageName;
- newInfo.versionName = pi.versionName;
- newInfo.versionCode = pi.versionCode;
- _PckgInfoList.add(newInfo);
- }
- catch (NameNotFoundException e)
- {
- e.printStackTrace();
- }
- }
- }
- AppType getAppType(ApplicationInfo ai)
- {
- AppType resultType ;
- if (isUserApp(ai))
- resultType = AppType.USER;
- else
- resultType = AppType.SYSTEM;
- return resultType;
- }
- boolean isUserApp(ApplicationInfo ai)
- {
- int mask = ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
- return (ai.flags & mask) == 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement