zoukankan      html  css  js  c++  java
  • Android 开发工具方法整理

    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;
    }

     

  • 相关阅读:
    POJ 2585 Window Pains 拓扑排序
    hrbust 2069 萌萌哒十五酱的衣服~ stl
    CodeForces 785D Anton and School
    CodeForces 816C Karen and Game
    CodeForces 758C Unfair Poll 模拟
    CodeForces 746D Green and Black Tea 有坑
    CodeForces 811C Vladik and Memorable Trip dp
    栈 队列 (面向对象列表实现)
    员工信息表 信息检索(模糊查询)
    员工信息表 查询 周末写(很简单)
  • 原文地址:https://www.cnblogs.com/renhui/p/7123373.html
Copyright © 2011-2022 走看看