Method of Obtaining Package Name Version Number Authority and Other Information by Android Programming

  • 2021-08-21 21:22:28
  • OfStack

This paper describes the method of obtaining package name, version number, authority and other information by Android programming. Share it for your reference, as follows:


/**
*  Gets the package name of the current application 
* @param context  Context object 
* @return  Return package name 
*/
public static String getAppProcessName(Context context) {
    // Current application pid
    int pid = android.os.Process.myPid();
    // Task management class 
    ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    // Traverse all applications 
    List<ActivityManager.RunningAppProcessInfo> infos = manager.getRunningAppProcesses();
    for (ActivityManager.RunningAppProcessInfo info : infos) {
      if (info.pid == pid)// Get the current application 
        return info.processName;// Return package name 
    }
    return "";
}
/**
*  Acquisition program   Icons 
* @param context
* @param packname  Application package name 
* @return
*/
public Drawable getAppIcon(Context context,String packname){
   try {
     // Package management operation management class 
     PackageManager pm = context.getPackageManager();
     // Obtain application information 
       ApplicationInfo info = pm.getApplicationInfo(packname, 0);
       return info.loadIcon(pm);
    } catch (NameNotFoundException e) {
      e.printStackTrace();
    }
  return null;
}
/**
*  Gets the version number of the program 
* @param context
* @param packname
* @return
*/
public String getAppVersion(Context context,String packname){
     // Package management operation management class 
   PackageManager pm = context.getPackageManager();
     try {
       PackageInfo packinfo = pm.getPackageInfo(packname, 0);
       return packinfo.versionName;
      } catch (NameNotFoundException e) {
        e.printStackTrace();
      }
    return packname;
}
/**
*  Gets the name of the program 
* @param context
* @param packname
* @return
*/
public String getAppName(Context context,String packname){
 // Package management operation management class 
   PackageManager pm = context.getPackageManager();
     try {
         ApplicationInfo info = pm.getApplicationInfo(packname, 0);
         return info.loadLabel(pm).toString();
      } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    return packname;
}
/*
*  Get the permissions of the program 
*/
public String[] getAllPermissions(Context context,String packname){
     try {
       // Package management operation management class 
       PackageManager pm = context.getPackageManager();
       PackageInfo packinfo =  pm.getPackageInfo(packname, PackageManager.GET_PERMISSIONS);
       // Getting access to all permissions 
       return packinfo.requestedPermissions;
      } catch (NameNotFoundException e) {
        e.printStackTrace();
      }
    return null;
}
/**
*  Get the signature of the program 
* @param context
* @param packname
* @return
*/
public static String getAppSignature(Context context,String packname){
     try {
       // Package management operation management class 
       PackageManager pm = context.getPackageManager();
       PackageInfo packinfo = pm.getPackageInfo(packname, PackageManager.GET_SIGNATURES);
       // Get the current application signature 
       return packinfo.signatures[0].toCharsString();
      } catch (NameNotFoundException e) {
        e.printStackTrace();
      }
    return packname;
}
/**
*  Get the current display   Adj. Activity Name 
* @return
*/
private static String getCurrentActivityName(Context context){
    ActivityManager activityManager=(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
    return runningActivity;
}

For more readers interested in Android related content, please check out the topics on this site: "Introduction and Advanced Tutorial of Android Development", "Summary of Android Debugging Skills and Common Problem Solutions", "Summary of Android Basic Component Usage", "Summary of Android View View Skills", "Summary of Android Layout layout Skills" and "Summary of Android Control Usage"

I hope this article is helpful to everyone's Android programming.


Related articles: