Android7.0指紋界面點擊瞭解詳情 報錯問題

測試反饋一個問題,錄入指紋後,點擊瞭解詳情 會出現停止運行。怎麼解決

抓取log信息後發現 ,出現了空指針異常 help_url_fingerprint 這個沒有賦值

<!-- Help URL, Fingerprint [DO NOT TRANSLATE] -->
    <string name="help_url_fingerprint" translatable="false"></string>

手頭上剛好有8.1帶指紋的機器,發現8.1的沒有問題,對比代碼之後 ,問題得以解決 ,8.1已經針對uri爲空的情況做了處理

M: ALPS02884741 If uri is empty

public static CharSequence linkify(CharSequence rawText, String uri, EnforcedAdmin admin) {
            SpannableString msg = new SpannableString(rawText);
            Annotation[] spans = msg.getSpans(0, msg.length(), Annotation.class);
            /// M: ALPS02884741 If uri is empty
            if (TextUtils.isEmpty(uri)) {
                CharSequence ret = rawText;
                for (Annotation annotation : spans) {
                    int start = msg.getSpanStart(annotation);
                    int end = msg.getSpanEnd(annotation);
                    ret = TextUtils.concat(ret.subSequence(0, (start > ret.length() ? ret.length()
                            : start)), msg.subSequence(end, msg.length()));
                }
                return ret;
            } else {
                SpannableStringBuilder builder = new SpannableStringBuilder(msg);
                for (Annotation annotation : spans) {
                    final String key = annotation.getValue();
                    int start = msg.getSpanStart(annotation);
                    int end = msg.getSpanEnd(annotation);
                    LearnMoreSpan link = null;
                    if (ANNOTATION_URL.equals(key)) {
                        link = new LearnMoreSpan(uri);
                    } else if (ANNOTATION_ADMIN_DETAILS.equals(key)) {
                        link = new LearnMoreSpan(admin);
                    }
                    if (link != null) {
                        builder.setSpan(link, start, end, msg.getSpanFlags(link));
                    }
                }
                return builder;
            }
        }

 

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