InputRealNameActivitys导致华为登录后黑屏

如何解决InputRealNameActivitys导致华为登录后黑屏

环境

  • 操作系统:Android10
  • 型号:华为荣耀10
  • SDK:hwid 5.0.4

问题描述

测试brid 报告在我们的应用中发现黑屏,但在少数特定设备上。
在我们重现时,调用华为登录方法后出现黑屏。点击Android后退按钮后黑屏消失。

有用信息


当我们深入研究时,使屏幕变黑的主要活动是 com.huawei.hwid20.inputrealname.InputRealNameActivity,而且,当我们在 logcat 中搜索时,我们发现以下几行您可能会感兴趣:

06-18 10:13:55.326   700  3444 E BufferQueueProducer: [com.huawei.hwid/com.huawei.hwid20.inputrealname.InputRealNameActivity#0]:1338: disconnect: not connected (req=1)
06-18 10:13:55.326 12947 15847 W libEGL  : EGLNativeWindowType 0x7ae5fab910 disconnect Failed
06-18 10:13:55.319 14683 14683 W GameMain: type=1400 audit(0.0:65405): avc: granted { read } for pid=14683 name="a0" dev="sdcardfs" ino=55427 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir
06-18 10:13:55.319 14683 14683 W GameMain: type=1400 audit(0.0:65406): avc: granted { read } for pid=14683 name="a0" dev="sdcardfs" ino=55427 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir
06-18 10:13:55.319 14683 14683 W GameMain: type=1400 audit(0.0:65407): avc: granted { read open } for pid=14683 path="/storage/emulated/0/Android/data/com.syzh.jsxw.huawei/files/patch/a0" dev="sdcardfs" ino=55427 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir
06-18 10:13:55.319 14683 14683 W GameMain: type=1400 audit(0.0:65408): avc: granted { write } for pid=14683 name="a0" dev="sdcardfs" ino=55427 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir
06-18 10:13:55.303  1474  1842 D HwGameAssistantController: Keycontrol mode is 2 for user 0
06-18 10:13:55.328  1474  3047 V WindowManager: removeIfPossible: Window{bfd80e1 u0 com.huawei.hwid/com.huawei.hwid20.inputrealname.InputRealNameActivity} callers=com.android.server.wm.WindowState.removeIfPossible:5504348 com.android.server.wm.WindowManagerService.removeWindow:5502984 android.view.IWindowSession$Stub.onTransact:7520340 com.android.server.wm.Session.onTransact:6765932 android.os.Binder.execTransactInternal:8316500 
06-18 10:13:55.328  1474  3047 D HwAppTransitionImpl: windowAnimations = 2060168 dose not come from system,not to override it.
06-18 10:13:55.330 16001 16001 D AndroidRuntime: Shutting down VM
06-18 10:13:55.331  1474  3047 V WindowManager: Not removing Window{bfd80e1 u0 com.huawei.hwid/com.huawei.hwid20.inputrealname.InputRealNameActivity EXITING} due to exit animation
06-18 10:13:55.332  1474  1501 I StatusBardisable: setFlags what=0 which=1 pkg=Window{bfd8171 u0 com.huawei.hwid/com.huawei.hwid20.inputrealname.InputRealNameActivity}
06-18 10:13:55.332  1474  3047 D ZrHung.AppEyeTransparentwindow: Transparentwindow mHungConfigStatus = 0,mHungConfigEnable = 1
06-18 10:13:55.346 12947 12947 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
06-18 10:13:55.346   700   700 D SurfaceFlinger: Found SecureRecScreen Layer
06-18 10:13:55.346  1474  4353 E Inputdispatcher: Window handle Window{bfd80e1 u0 com.huawei.hwid/com.huawei.hwid20.inputrealname.InputRealNameActivity} has no registered input channel

因此我们认为 SDK 试图删除 InputRealNameActivity 但由于 exit animation 而失败。
在我们的头脑风暴中,我们认为由于设备问题,一些动画播放失败,而这个失败的动画阻止了InputRealNameActivity的销毁,所以它留在了屏幕上。
无论如何我们可以确认的是,华为SDK的一个ActivityInputRealNameActivity确实让屏幕变黑,用户可能不知道如何取消它,它损害了我们的用户体验,我相信它损害了华为的用户

重现

据我们所知,这不是一个常见的情况,因此您无法轻松制作它,幸运的是我们在 test brid 中找到了可以重现它的设备。
这里输入https://www.testbird.com/登录搜索Huawei Honor,你会发现只有一台Huawei Honor 10设备,该设备可以轻松复制。只需运行应用程序,并触发华为帐户登录

预先感谢您,如果团队可以查看此问题。

解决方法

据团队称,此问题是出于安全考虑。

账号登录页面提供了防录屏和防截屏功能。那么 test brid 中的设备可能已经触发了这个安全机制,所以它会黑屏。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?