最近老是用到关于程序包名,图标问题,现总结如下:
- PackageInfo info;
- try {
- info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0);
- // 当前应用的版本名称
- String versionName = info.versionName;
- // 当前版本的版本号
- int versionCode = info.versionCode;
- // 当前版本的包名
- String packageNames = info.packageName;
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
另一种方法:
- public class Info {
- Context context ;
- PackageManager pm ;
- public Info(Context context) {
- this.context = context;
- pm = context.getPackageManager();
- }
- /*
- * 获取程序 图标
- */
- public Drawable getAppIcon(String packname){
- try {
- ApplicationInfo info = pm.getApplicationInfo(packname, 0);
- return info.loadIcon(pm);
- } catch (NameNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /*
- *获取程序的版本号
- */
- public String getAppVersion(String packname){
- try {
- PackageInfo packinfo = pm.getPackageInfo(packname, 0);
- return packinfo.versionName;
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
- }
- /*
- * 获取程序的名字
- */
- public String getAppName(String packname){
- try {
- ApplicationInfo info = pm.getApplicationInfo(packname, 0);
- return info.loadLabel(pm).toString();
- } catch (NameNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /*
- * 获取程序的权限
- */
- public String[] getAppPremission(String packname){
- try {
- PackageInfo packinfo = pm.getPackageInfo(packname, PackageManager.GET_PERMISSIONS);
- //获取到所有的权限
- return packinfo.requestedPermissions;
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
- }
- /*
- * 获取程序的签名
- */
- public String getAppSignature(String packname){
- try {
- PackageInfo packinfo = pm.getPackageInfo(packname, PackageManager.GET_SIGNATURES);
- //获取到所有的权限
- return packinfo.signatures[0].toCharsString();
- } catch (NameNotFoundException e) {
- e.printStackTrace();
- }
- }
- http://blog.youkuaiyun.com/yudajun/article/details/7855270