Android7.0指紋介面點選瞭解詳情 報錯問題
阿新 • • 發佈:2018-12-21
測試反饋一個問題,錄入指紋後,點選瞭解詳情 會出現停止執行。怎麼解決
抓取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; } }