博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 开发工具方法整理
阅读量:4623 次
发布时间:2019-06-09

本文共 3733 字,大约阅读时间需要 12 分钟。

1. 获取当前手机系统语言

Locale.getDefault().getLanguage();

2. 获取当前手机系统版本号

android.os.Build.VERSION.RELEASE;

3. 获取手机型号

android.os.Build.BRAND;

4. 获取Android系统版本号

android.os.Build.VERSION.SDK_INT

5. 应用程序得到自己的应用程序信息 

/**  * 得到当前应用版本名称的方法 */  public static String getVersionName(Context context) throws Exception {      // 获取packagemanager的实例      PackageManager packageManager = context.getPackageManager();      // getPackageName()是你当前类的包名      PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);      String version = packInfo.versionName;      return version;  }   

6. 应用程序获得其他应用程序的版本信息(根据包名)

/**  * 获取指定包名的版本号  *   * @param context  本应用程序上下文  * @param packageName  你想知道版本信息的应用程序的包名  * @return  * @throws Exception  */  public static String getVersionName(Context context, String packageName) throws Exception {      // 获取packagemanager的实例      PackageManager packageManager = context.getPackageManager();      PackageInfo packInfo = packageManager.getPackageInfo(packageName, 0);      String version = packInfo.versionName;      return version;  }

7. 从SD卡等Path获取某安装包(apk文件)的版本信息 

/**  * 从一个apk文件去获取该文件的版本信息  *   * @param context  本应用程序上下文  * @param archiveFilePath  APK文件的路径。如:/sdcard/download/XX.apk  * @return  */  public static String getVersionNameFromApk(Context context, String archiveFilePath) {      PackageManager pm = context.getPackageManager();      PackageInfo packInfo = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);      String version = packInfo.versionName;      return version;  }

8. 获取相应的权限 (示例为:获取外部存储读写权限+读取音频的权限)

// 请求读写外部存储 + 读取音频的权限 int checkWriteExternalPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE); int checkRecordAudioPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO); if (checkWriteExternalPermission != PackageManager.PERMISSION_GRANTED || checkRecordAudioPermission != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO}, 0); }

9. 获取当前系统已用的内存百分比

/** * 计算已使用内存的百分比,并返回。 * * @param context 可传入应用程序上下文。 * @return 已使用内存的百分比,以字符串形式返回。 */public static String getUsedPercentValue(Context context) {    String dir = "/proc/meminfo";    try {        FileReader fr = new FileReader(dir);        BufferedReader br = new BufferedReader(fr, 2048);        String memoryLine = br.readLine();        String subMemoryLine = memoryLine.substring(memoryLine.indexOf("MemTotal:"));        br.close();        long totalMemorySize = Integer.parseInt(subMemoryLine.replaceAll("\\D+", ""));        long availableSize = getAvailableMemory(context) / 1024;        int percent = (int) ((totalMemorySize - availableSize) / (float) totalMemorySize * 100);        return percent + "%";    } catch (IOException e) {        e.printStackTrace();    }    return "";}/** * 获取当前可用内存,返回数据以字节为单位。 * * @param context  可传入应用程序上下文。 * @return 当前可用内存。 */private static long getAvailableMemory(Context context) {    ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();    getActivityManager(context).getMemoryInfo(mi);    return mi.availMem;}/** * 如果ActivityManager还未创建,则创建一个新的ActivityManager返回。否则返回当前已创建的ActivityManager。 * * @param context *            可传入应用程序上下文。 * @return ActivityManager的实例,用于获取手机可用内存。 */private static ActivityManager getActivityManager(Context context) {    if (mActivityManager == null) {        mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    }    return mActivityManager;}

 

 

转载于:https://www.cnblogs.com/renhui/p/7123373.html

你可能感兴趣的文章
【转】【金蝶K3Cloud】 在插件中调用工作流
查看>>
数据库实验课笔记20190509
查看>>
HDU1131_卡特兰数算二叉树个数
查看>>
TortoiseSVN安装攻略和使用教程(详细)
查看>>
git 提示 Please move or remove them before you can merge 解决办法
查看>>
oracle Redhat64 安装
查看>>
UOJ #271 炸铁路
查看>>
T-SQL自定义函数ConvertSecondsToTime
查看>>
获取数据库中所有触发器
查看>>
存储过程接收JSON格式数据
查看>>
Linux下C编程入门(4)
查看>>
标准C程序设计七---42
查看>>
Git学习笔记
查看>>
Vim查找替换及正则表达式的使用
查看>>
hiberbnate 缓存策略概述
查看>>
python学习day25 接口类 抽象类 多态 封装
查看>>
同一场景下多个图层之间的调用
查看>>
【4OpenCV】OpenCV和RTSP的综合研究
查看>>
ajaxFileUpload 异步上传数据
查看>>
图书馆管理需求分析
查看>>