Skip to content

Commit 62e3293

Browse files
committed
优化日志显示界面沉浸式效果
修复没有注册前台服务权限导致在鸿蒙手机上崩溃的问题 修复在 Android 12 手机上面 PendingIntent 报错的问题
1 parent 7e3c2e2 commit 62e3293

File tree

11 files changed

+171
-124
lines changed

11 files changed

+171
-124
lines changed

README.md

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
* 项目地址:[Github](https://github.com/getActivity/Logcat)[码云](https://gitee.com/getActivity/Logcat)
66

7-
* 可以扫码下载 Demo 进行演示或者测试,如果扫码下载不了的,[点击此处可直接下载](https://github.com/getActivity/Logcat/releases/download/10.0/Logcat.apk)
7+
* 可以扫码下载 Demo 进行演示或者测试,如果扫码下载不了的,[点击此处可直接下载](https://github.com/getActivity/Logcat/releases/download/10.2/Logcat.apk)
88

99
![](picture/demo_code.png)
1010

@@ -53,15 +53,15 @@ dependencyResolutionManagement {
5353
```groovy
5454
dependencies {
5555
// 日志调试框架:https://github.com/getActivity/Logcat
56-
debugImplementation 'com.github.getActivity:Logcat:10.0'
56+
debugImplementation 'com.github.getActivity:Logcat:10.2'
5757
}
5858
```
5959

6060
#### AndroidX
6161

6262
* 如果项目是基于 **AndroidX** 包,请在项目 `gradle.properties` 文件中加入
6363

64-
```groovy
64+
```text
6565
# 表示将第三方库迁移到 AndroidX
6666
android.enableJetifier = true
6767
```
@@ -106,9 +106,24 @@ android.enableJetifier = true
106106
</manifest>
107107
```
108108

109+
#### 方向配置
110+
111+
* `LogcatActivity` 默认是跟随手机屏幕方向的,如果你需要固定竖屏方向,那么需要在你的清单文件中加入此配置:
112+
113+
```xml
114+
<activity
115+
android:name="com.hjq.logcat.LogcatActivity"
116+
android:configChanges="orientation|screenSize|keyboardHidden"
117+
android:launchMode="singleInstance"
118+
android:screenOrientation="portrait"
119+
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
120+
android:windowSoftInputMode="stateHidden"
121+
tools:node="replace" />
122+
```
123+
109124
#### 日志颜色个性化
110125

111-
* 在项目的 `values/color.xml` 中加入你喜欢的配色,例如
126+
* 在项目的 `values/color.xml` 中加入你喜欢的配色,例如
112127

113128
```xml
114129
<color name="logcat_level_verbose_color">#FFBBBBBB</color>
@@ -121,7 +136,7 @@ android.enableJetifier = true
121136

122137
#### 过滤日志
123138

124-
* 在项目的 `values/string.xml` 中加入你要过滤的日志 TAG,例如
139+
* 在项目的 `values/string.xml` 中加入你要过滤的日志 TAG,例如
125140

126141
```xml
127142
<string-array name="logcat_filter_list" tools:ignore="ExtraTranslation">

app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.hjq.logcat.demo"
88
minSdkVersion 16
99
targetSdkVersion 31
10-
versionCode 1000
11-
versionName "10.0"
10+
versionCode 1020
11+
versionName "10.2"
1212
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1313
}
1414

@@ -65,8 +65,8 @@ dependencies {
6565
implementation 'com.github.getActivity:TitleBar:9.3'
6666

6767
// 吐司框架:https://github.com/getActivity/ToastUtils
68-
implementation 'com.github.getActivity:ToastUtils:10.0'
68+
implementation 'com.github.getActivity:ToastUtils:10.2'
6969

7070
// 内存泄漏捕捉:https://github.com/square/leakcanary
71-
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
71+
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1'
7272
}

app/src/main/java/com/hjq/logcat/demo/MainActivity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.support.v7.app.AppCompatActivity;
88
import android.view.ViewGroup;
99
import android.webkit.WebChromeClient;
10+
import android.webkit.WebSettings;
1011
import android.webkit.WebView;
1112
import android.webkit.WebViewClient;
1213

@@ -30,6 +31,11 @@ protected void onCreate(Bundle savedInstanceState) {
3031
mWebView = findViewById(R.id.wv_main_web);
3132
mWebView.setWebViewClient(new WebViewClient());
3233
mWebView.setWebChromeClient(new MyWebChromeClient());
34+
35+
if (!String.valueOf(System.currentTimeMillis()).endsWith("1")) {
36+
mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
37+
}
38+
3339
mWebView.loadUrl("https://github.com/getActivity/Logcat");
3440

3541
if (NotificationManagerCompat.from(this).areNotificationsEnabled()) {
Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
<resources>
2-
3-
<!-- Base application theme. -->
4-
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
5-
<!-- Customize your theme here. -->
6-
<item name="colorPrimary">@color/colorPrimary</item>
7-
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8-
<item name="colorAccent">@color/colorAccent</item>
9-
<item name="android:navigationBarColor">@color/colorPrimary</item>
10-
<!-- 解决 Android 5.1 及以上版本 Button 英文字符串自动变大写的问题 -->
11-
<item name="android:textAllCaps">false</item>
12-
</style>
13-
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
4+
<!-- Base application theme. -->
5+
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
6+
<!-- Customize your theme here. -->
7+
<item name="colorPrimary">@color/colorPrimary</item>
8+
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
9+
<item name="colorAccent">@color/colorAccent</item>
10+
<item name="android:statusBarColor">@android:color/white</item>
11+
<item name="android:windowLightStatusBar">true</item>
12+
<!-- 解决 Android 5.1 及以上版本 Button 英文字符串自动变大写的问题 -->
13+
<item name="android:textAllCaps">false</item>
14+
</style>
15+
1416
</resources>

app/src/main/res/values/strings.xml

Lines changed: 85 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,86 @@
1-
<resources xmlns:tools="http://schemas.android.com/tools">
2-
<string name="app_name">Logcat</string>
3-
4-
<!-- <string-array name="logcat_filter_list" tools:ignore="ExtraTranslation">-->
5-
<!-- <item>ActivityThread</item>-->
6-
<!-- <item>InputMethodManager</item>-->
7-
<!-- <item>OpenGLRenderer</item>-->
8-
<!-- <item>VideoCapabilities</item>-->
9-
<!-- <item>ViewRootImpl</item>-->
10-
<!-- <item>Settings</item>-->
11-
<!-- <item>Looper</item>-->
12-
<!-- <item>TextView</item>-->
13-
<!-- <item>TypefaceUtils</item>-->
14-
<!-- <item>MultiDex</item>-->
15-
<!-- <item>AudioManager</item>-->
16-
<!-- <item>ConnectivityManager</item>-->
17-
<!-- <item>NetworkSecurityConfig</item>-->
18-
<!-- <item>HwPolicyFactory:</item>-->
19-
<!-- <item>HwWidgetFactory:</item>-->
20-
<!-- <item>HwApiCacheMangerEx</item>-->
21-
<!-- <item>HwWechatOptimizeImpl</item>-->
22-
<!-- <item>HwSplineOverScrollerExImpl</item>-->
23-
<!-- <item>HwAppInnerBoostImpl</item>-->
24-
<!-- <item>HwCustConnectivityManagerImpl</item>-->
25-
<!-- <item>HwApsImpl</item>-->
26-
<!-- <item>HwPhoneWindow</item>-->
27-
<!-- <item>HwAutofillHelper</item>-->
28-
<!-- <item>hwbr_engine_mainprocess</item>-->
29-
<!-- <item>hwbr_engine_hwbr_event</item>-->
30-
<!-- <item>hwbr_engine_PathUtils</item>-->
31-
<!-- <item>hwbr_engine_AwContents</item>-->
32-
<!-- <item>hwbr_engine_cr_IMM</item>-->
33-
<!-- <item>hwbr_engine_LibraryLoader</item>-->
34-
<!-- <item>hwbr_engine_BrowserStartup</item>-->
35-
<!-- <item>hwbr_engine_cr_WebContentsImpl</item>-->
36-
<!-- <item>CrashReport</item>-->
37-
<!-- <item>CrashReportInfo</item>-->
38-
<!-- <item>CrashReport-Native</item>-->
39-
<!-- <item>LeakCanary</item>-->
40-
<!-- <item>Timeline</item>-->
41-
<!-- <item>AssistStructure</item>-->
42-
<!-- <item>EgretLoader</item>-->
43-
<!-- <item>OverScrollerOptimization</item>-->
44-
<!-- <item>HiTouch_PressGestureDetector</item>-->
45-
<!-- <item>HiTouch_HiTouchSensor</item>-->
46-
<!-- <item>FLTAG_SFM</item>-->
47-
<!-- <item>FLTAG_FM</item>-->
48-
<!-- <item>libEGL</item>-->
49-
<!-- <item>AwareLog</item>-->
50-
<!-- <item>AwareBitmapCacher</item>-->
51-
<!-- <item>AwareAppScheduleManager</item>-->
52-
<!-- <item>FeatureFactory</item>-->
53-
<!-- <item>WebViewFactory</item>-->
54-
<!-- <item>ConfigStore</item>-->
55-
<!-- <item>mali_winsys</item>-->
56-
<!-- <item>ZrHung.AppEyeUiProbe</item>-->
57-
<!-- <item>chatty</item>-->
58-
<!-- <item>stylus</item>-->
59-
<!-- <item>libc</item>-->
60-
<!-- <item>chromium</item>-->
61-
<!-- <item>Perf</item>-->
62-
<!-- <item>FeatureParser</item>-->
63-
<!-- <item>Binder:intercep</item>-->
64-
<!-- <item>cr_LibraryLoader</item>-->
65-
<!-- <item>cr_BrowserStartup</item>-->
66-
<!-- <item>DecorView</item>-->
67-
<!-- <item>DecorView[]</item>-->
68-
<!-- <item>ForceDarkHelper</item>-->
69-
<!-- <item>skia</item>-->
70-
<!-- <item>AdrenoGLES-0</item>-->
71-
<!-- <item>ViewContentFactory</item>-->
72-
<!-- <item>MiuiFrameworkFactory</item>-->
73-
<!-- <item>MIUIInput</item>-->
74-
<!-- <item>cr_media</item>-->
75-
<!-- <item>cr_CachingUmaRecorder</item>-->
76-
<!-- <item>TetheringManager</item>-->
77-
<!-- <item>MiuiFreeDragHelper</item>-->
78-
<!-- <item>MiuiFreeDragImpl</item>-->
79-
<!-- <item>ContentProviderMonitor</item>-->
80-
<!-- <item>ContentCatcher</item>-->
81-
<!-- <item>ApplicationLoaders</item>-->
82-
<!-- <item>RenderInspector</item>-->
83-
<!-- </string-array>-->
84-
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources xmlns:tools="http://schemas.android.com/tools">
3+
<string name="app_name">Logcat</string>
4+
5+
<!-- <string-array name="logcat_filter_list" tools:ignore="ExtraTranslation">-->
6+
<!-- <item>ActivityThread</item>-->
7+
<!-- <item>InputMethodManager</item>-->
8+
<!-- <item>OpenGLRenderer</item>-->
9+
<!-- <item>VideoCapabilities</item>-->
10+
<!-- <item>ViewRootImpl</item>-->
11+
<!-- <item>Settings</item>-->
12+
<!-- <item>Looper</item>-->
13+
<!-- <item>TextView</item>-->
14+
<!-- <item>TypefaceUtils</item>-->
15+
<!-- <item>MultiDex</item>-->
16+
<!-- <item>AudioManager</item>-->
17+
<!-- <item>ConnectivityManager</item>-->
18+
<!-- <item>NetworkSecurityConfig</item>-->
19+
<!-- <item>HwPolicyFactory:</item>-->
20+
<!-- <item>HwWidgetFactory:</item>-->
21+
<!-- <item>HwApiCacheMangerEx</item>-->
22+
<!-- <item>HwWechatOptimizeImpl</item>-->
23+
<!-- <item>HwSplineOverScrollerExImpl</item>-->
24+
<!-- <item>HwAppInnerBoostImpl</item>-->
25+
<!-- <item>HwCustConnectivityManagerImpl</item>-->
26+
<!-- <item>HwApsImpl</item>-->
27+
<!-- <item>HwPhoneWindow</item>-->
28+
<!-- <item>HwAutofillHelper</item>-->
29+
<!-- <item>hwbr_engine_mainprocess</item>-->
30+
<!-- <item>hwbr_engine_hwbr_event</item>-->
31+
<!-- <item>hwbr_engine_PathUtils</item>-->
32+
<!-- <item>hwbr_engine_AwContents</item>-->
33+
<!-- <item>hwbr_engine_cr_IMM</item>-->
34+
<!-- <item>hwbr_engine_LibraryLoader</item>-->
35+
<!-- <item>hwbr_engine_BrowserStartup</item>-->
36+
<!-- <item>hwbr_engine_cr_WebContentsImpl</item>-->
37+
<!-- <item>CrashReport</item>-->
38+
<!-- <item>CrashReportInfo</item>-->
39+
<!-- <item>CrashReport-Native</item>-->
40+
<!-- <item>LeakCanary</item>-->
41+
<!-- <item>Timeline</item>-->
42+
<!-- <item>AssistStructure</item>-->
43+
<!-- <item>EgretLoader</item>-->
44+
<!-- <item>OverScrollerOptimization</item>-->
45+
<!-- <item>HiTouch_PressGestureDetector</item>-->
46+
<!-- <item>HiTouch_HiTouchSensor</item>-->
47+
<!-- <item>FLTAG_SFM</item>-->
48+
<!-- <item>FLTAG_FM</item>-->
49+
<!-- <item>libEGL</item>-->
50+
<!-- <item>AwareLog</item>-->
51+
<!-- <item>AwareBitmapCacher</item>-->
52+
<!-- <item>AwareAppScheduleManager</item>-->
53+
<!-- <item>FeatureFactory</item>-->
54+
<!-- <item>WebViewFactory</item>-->
55+
<!-- <item>ConfigStore</item>-->
56+
<!-- <item>mali_winsys</item>-->
57+
<!-- <item>ZrHung.AppEyeUiProbe</item>-->
58+
<!-- <item>chatty</item>-->
59+
<!-- <item>stylus</item>-->
60+
<!-- <item>libc</item>-->
61+
<!-- <item>chromium</item>-->
62+
<!-- <item>Perf</item>-->
63+
<!-- <item>FeatureParser</item>-->
64+
<!-- <item>Binder:intercep</item>-->
65+
<!-- <item>cr_LibraryLoader</item>-->
66+
<!-- <item>cr_BrowserStartup</item>-->
67+
<!-- <item>DecorView</item>-->
68+
<!-- <item>DecorView[]</item>-->
69+
<!-- <item>ForceDarkHelper</item>-->
70+
<!-- <item>skia</item>-->
71+
<!-- <item>AdrenoGLES-0</item>-->
72+
<!-- <item>ViewContentFactory</item>-->
73+
<!-- <item>MiuiFrameworkFactory</item>-->
74+
<!-- <item>MIUIInput</item>-->
75+
<!-- <item>cr_media</item>-->
76+
<!-- <item>cr_CachingUmaRecorder</item>-->
77+
<!-- <item>TetheringManager</item>-->
78+
<!-- <item>MiuiFreeDragHelper</item>-->
79+
<!-- <item>MiuiFreeDragImpl</item>-->
80+
<!-- <item>ContentProviderMonitor</item>-->
81+
<!-- <item>ContentCatcher</item>-->
82+
<!-- <item>ApplicationLoaders</item>-->
83+
<!-- <item>RenderInspector</item>-->
84+
<!-- </string-array>-->
85+
8586
</resources>

app/src/main/res/values/styles.xml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
<resources>
2-
3-
<!-- Base application theme. -->
4-
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
5-
<!-- Customize your theme here. -->
6-
<item name="colorPrimary">@color/colorPrimary</item>
7-
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8-
<item name="colorAccent">@color/colorAccent</item>
9-
<!-- 解决 Android 5.1 及以上版本 Button 英文字符串自动变大写的问题 -->
10-
<item name="android:textAllCaps">false</item>
11-
</style>
12-
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<resources>
3+
4+
<!-- Base application theme. -->
5+
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
6+
<!-- Customize your theme here. -->
7+
<item name="colorPrimary">@color/colorPrimary</item>
8+
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
9+
<item name="colorAccent">@color/colorAccent</item>
10+
<!-- 解决 Android 5.1 及以上版本 Button 英文字符串自动变大写的问题 -->
11+
<item name="android:textAllCaps">false</item>
12+
</style>
13+
1314
</resources>

library/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ android {
99

1010
defaultConfig {
1111
minSdkVersion 16
12-
versionCode 1000
13-
versionName "10.0"
12+
versionCode 1020
13+
versionName "10.2"
1414
}
1515

1616
lintOptions {

library/src/main/AndroidManifest.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
12
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
23
package="com.hjq.logcat">
34

45
<!-- 外部存储读写权限 -->
56
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
67
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
78

9+
<!-- 前台 Service 权限 -->
10+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
11+
812
<application>
913

1014
<provider
@@ -15,9 +19,10 @@
1519

1620
<activity
1721
android:name=".LogcatActivity"
18-
android:windowSoftInputMode="stateHidden"
1922
android:configChanges="orientation|screenSize|keyboardHidden"
20-
android:launchMode="singleInstance" />
23+
android:launchMode="singleInstance"
24+
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
25+
android:windowSoftInputMode="stateHidden" />
2126

2227
<service android:name=".LogcatService" />
2328

0 commit comments

Comments
 (0)