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.