-
-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]:在子进程Activity无法显示logcat悬浮按钮 #35
Comments
@zwonb 小伙子,问题修复了,你可以下载上面的 aar 包测试一下。 |
dependencies {
// 悬浮窗框架:https://github.com/getActivity/EasyWindow
implementation 'com.github.getActivity:EasyWindow:10.6'
} |
子进程Activity依旧不会显示悬浮窗按钮 |
小伙子,很抱歉,我理解错了你的意思,这个包其实修复的是,通知渠道关闭后,框架不显示通知入口,也不显示悬浮球入口的问题,问题原因是框架内部只对通知栏开关进行了判断,并没有对具体的通知渠道开关进行判断。 |
小伙子,我测试了一下,你这个问题确实能复现,但是修复不了,这是因为你开了多进程,在开启子进程的情况下,会二次创建 Application 对象,然后重新走一遍 onCreate 方法,但是 ContentProvider 组件就不一样了,并不会重复创建,这就导致一个问题,Logcat 这个框架本身就依赖 ContentProvider 作为框架的初始化入口,但是它在子进程并不会被系统二次创建,更别说调用了,这个属于硬伤,目前暂时没有想到什么好的解决方案,如果你有的话,欢迎提供给我。 |
当然不代表这就没有解决手段,你可以手动初始化 Logcat 框架,具体方式如下: 第一步:先在清单文件中去除 Logcat 框架初始化入口 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.xxx.xxx">
<application>
<provider
android:name="com.hjq.logcat.LogcatProvider"
tools:node="remove" />
</application>
</manifest> 第二步:在 Application.onCreate 方法中手动初始化 Logcat 框架 public final class XxxApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
try {
Class<?> logcatProviderClass = Class.forName("com.hjq.logcat.LogcatProvider");
Object logcatProvider = logcatProviderClass.newInstance();
Method attachInfoMethod = logcatProviderClass.getMethod("attachInfo", Context.class, ProviderInfo.class);
attachInfoMethod.setAccessible(true);
attachInfoMethod.invoke(logcatProvider, this, null);
} catch (Exception e) {
e.printStackTrace();
}
}
} |
可以判断如果开启了悬浮窗权限优先使用系统悬浮窗 |
@zwonb 收到,多谢小伙子的建议。 |
框架版本【必填】
11.82
问题描述【必填】
通知权限关闭的状态下(还有一个bug未适配8.0+通知渠道开关。总通知权限打开,logcat通知渠道关闭,此时应该也是需要显示悬浮窗按钮),跳转到子进程Activity,无法显示悬浮按钮
复现步骤【必填】
关闭通知,授权悬浮窗权限,打开App,跳转到子进程Activity,bug出现
是否必现【必填】
是
项目 targetSdkVersion【必填】
31
出现问题的手机信息【必填】
小米13
出现问题的安卓版本【必填】
android14
问题信息的来源渠道【必填】
自己遇到的
是部分机型还是所有机型都会出现【必答】
全部
框架最新的版本是否存在这个问题【必答】
是
框架文档是否提及了该问题【必答】
否
是否已经查阅框架文档但还未能解决的【必答】
是
issue 列表中是否有人曾提过类似的问题【必答】
否
是否已经搜索过了 issue 列表但还未能解决的【必答】
是
是否可以通过 Demo 来复现该问题【必答】
是
提供报错堆栈
No response
提供截图或视频
demo
MyApplication.zip
提供解决方案
改成系统悬浮窗按钮
The text was updated successfully, but these errors were encountered: