Android开发中躺过的坑及解决方案

本文主要用于统计一些开发中遇到的坑,及解决方案。解决方案,链接第三方。
本文只做收集查阅用,不断收集


关于Android应用回到桌面会重复打开闪屏页

  • 解决方案,在启动页添加如下代码
    1
    2
    3
    4
    if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
    finish();
    return;
    }
  • 问题原理解析

Android 7.0 WebView 部分机型打不开

  • 解决方案
1
2
3
4
5
6
7
8
9
10
11
12
13
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
if (error.getPrimaryError() == SslError.SSL_DATE_INVALID
|| error.getPrimaryError() == SslError.SSL_EXPIRED
|| error.getPrimaryError() == SslError.SSL_INVALID
|| error.getPrimaryError() == SslError.SSL_UNTRUSTED) {
handler.proceed();
} else {
handler.cancel();
}

super.onReceivedSslError(view, handler, error);
}
  • 原因: https 请求 webview 有 证书校验,可以用以上代码避免
    • SSL_DATE_INVALID 证书的日期是无效的
    • SSL_EXPIRED 证书已经过期
    • SSL_INVALID 一个通用的错误发生
    • SSL_UNTRUSTED 不受信任的证书颁发机构