判斷當前App是否爲debug版本,可以避免爲空的異常,就不會出錯了

話不多說,擼起袖子就是幹

判斷當前app是否爲debug版本的方法可以是

BuildConfig.DEBUG

如果返回true就是debug版本,反之不是。

 

今天我們說的是另一種方法

先上一個工具類的代碼片段  在   StringUtils.java類裏

 /**
     * 判斷字符串是否爲null或全爲空格
     *
     * @param s 待校驗字符串
     * @return {@code true}: null或全空格<br> {@code false}: 不爲null且不全空格
     */
    public static boolean isSpace(String s) {
        return (s == null || s.trim().length() == 0);
    }

再上一個判斷是否爲debug的方法

/**
     * 判斷App是否是Debug版本
     *
     * @return {@code true}: 是<br>{@code false}: 否
     */
    public static boolean isAppDebug() {
        if (StringUtils.isSpace(context.getPackageName())) return false;//獲取包名,如果包名是空或者null的話,返回false,返回false就不是debug版本==包名爲空不是debug版本?
        try {
            PackageManager pm = context.getPackageManager();
            ApplicationInfo ai = pm.getApplicationInfo(context.getPackageName(), 0);
            return ai != null && (ai.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return false;
        }
    }

期初不太理解,希望同行交流!  如有錯誤,請指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章