国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程實現應用獲取包名、版本號、權限等信息的方法

2019-10-22 18:14:47
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程實現應用獲取包名、版本號、權限等信息的方法。分享給大家供大家參考,具體如下:

/*** 獲取當前應用程序的包名* @param context 上下文對象* @return 返回包名*/public static String getAppProcessName(Context context) {    //當前應用pid    int pid = android.os.Process.myPid();    //任務管理類    ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    //遍歷所有應用    List<ActivityManager.RunningAppProcessInfo> infos = manager.getRunningAppProcesses();    for (ActivityManager.RunningAppProcessInfo info : infos) {      if (info.pid == pid)//得到當前應用        return info.processName;//返回包名    }    return "";}/*** 獲取程序 圖標* @param context* @param packname 應用包名* @return*/public Drawable getAppIcon(Context context,String packname){   try {     //包管理操作管理類     PackageManager pm = context.getPackageManager();     //獲取到應用信息       ApplicationInfo info = pm.getApplicationInfo(packname, 0);       return info.loadIcon(pm);    } catch (NameNotFoundException e) {      e.printStackTrace();    }  return null;}/*** 獲取程序的版本號* @param context* @param packname* @return*/public String getAppVersion(Context context,String packname){     //包管理操作管理類   PackageManager pm = context.getPackageManager();     try {       PackageInfo packinfo = pm.getPackageInfo(packname, 0);       return packinfo.versionName;      } catch (NameNotFoundException e) {        e.printStackTrace();      }    return packname;}/*** 獲取程序的名字* @param context* @param packname* @return*/public String getAppName(Context context,String packname){ //包管理操作管理類   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;}/** 獲取程序的權限*/public String[] getAllPermissions(Context context,String packname){     try {       //包管理操作管理類       PackageManager pm = context.getPackageManager();       PackageInfo packinfo =  pm.getPackageInfo(packname, PackageManager.GET_PERMISSIONS);       //獲取到所有的權限       return packinfo.requestedPermissions;      } catch (NameNotFoundException e) {        e.printStackTrace();      }    return null;}/*** 獲取程序的簽名* @param context* @param packname* @return*/public static String getAppSignature(Context context,String packname){     try {       //包管理操作管理類       PackageManager pm = context.getPackageManager();       PackageInfo packinfo = pm.getPackageInfo(packname, PackageManager.GET_SIGNATURES);       //獲取當前應用簽名       return packinfo.signatures[0].toCharsString();      } catch (NameNotFoundException e) {        e.printStackTrace();      }    return packname;}/*** 獲取當前展示 的Activity名稱* @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;}

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永吉县| 潜山县| 怀安县| 郑州市| 格尔木市| 淳安县| 天峻县| 大邑县| 宁海县| 锡林郭勒盟| 阳西县| 韶山市| 浦东新区| 团风县| 上栗县| 梅河口市| 安庆市| 缙云县| 岗巴县| 无棣县| 新闻| 虞城县| 石家庄市| 昭通市| 洪洞县| 汉寿县| 杂多县| 肇州县| 丹东市| 宜阳县| 正阳县| 昭平县| 万源市| 陇西县| 清涧县| 泾川县| 光泽县| 崇文区| 册亨县| 淅川县| 鹤岗市|