亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-05-22 13:34:04 來源:億速云 閱讀:714 作者:小新 欄目:移動開發

小編給大家分享一下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是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。

以上是“Android編程如何實現應用獲取包名、版本號、權限等信息”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富民县| 景德镇市| 沙洋县| 宣威市| 乐昌市| 三台县| 武穴市| 天祝| 乐东| 洪湖市| 南和县| 南岸区| 凤城市| 乌恰县| 登封市| 涪陵区| 林甸县| 桂东县| 女性| 慈溪市| 宁南县| 视频| 河南省| 米易县| 大邑县| 遂溪县| 廉江市| 仙桃市| 徐汇区| 南京市| 芮城县| 轮台县| 平武县| 额济纳旗| 涞水县| 江口县| 泗洪县| 馆陶县| 邻水| 集贤县| 巴青县|