gpt4 book ai didi

android - 当在 Marshmallow 中设置 Key Guard 时,来电期间不显示 StandOut 窗口

转载 作者:搜寻专家 更新时间:2023-11-01 08:34:41 28 4
gpt4 key购买 nike

我在我的应用程序中使用了 Mark Wei 令人难以置信的库 StandOut: http://pingpongboss.github.io/StandOut/

我所做的与TrueCaller App非常相似

在来电时显示我自己的 View 。这通常效果很好。

我的问题是什么?

在一个非常具体的案例中:

  • 仅限 Android Marshmallow (6)
  • 当 key 保护锁开启时

然后应用程序的 StandOut 窗口被发送回传入调用窗口的后面,除了闪烁几分之一秒外不显示。

我尝试了什么?

同时使用这两个标志:

  • FLAG_DISMISS_KEYGUARD
  • FLAG_SHOW_WHEN_LOCKED

此外(和单独)我尝试了这种不推荐使用的方式:

KeyguardManager.KeyguardLock mLock;
KeyguardManager mKeyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
mLock = mKeyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
mLock.disableKeyguard();

当这也失败时,我尝试授予我的应用程序管理员权限(我不会添加整个代码来完成它,因为它很长但我做得正确)然后尝试了这个:

devicePolicyManager.setKeyguardDisabled(deviceAdmin,true);

注意:我想再次强调,我知道这是可能的,因为TrueCaller App做得很好,每次通话都不会失败。只需要帮助找到正确的方法。

提前致谢!

最佳答案

我有三个建议供您尝试(不确定它们是否有效),但它们值得一试。

  1. 尝试添加这些标志:

    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
  2. 尝试在触发 StandOut 窗口 Activity 之前添加一个延迟,比方说 2 秒,以确保它在来电系统屏幕之后出现(稍后,如果这解决了问题,请尽可能减少延迟可能)。

  3. 在这里也找到了这个答案,不确定您是否有权访问窗口属性,但看到了这个解决方案:

    "We were also facing similar issue that the overlay was not displayed on a device with pin lock. The solution that worked for us is below:

    mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    mParams = new LayoutParams(
    LayoutParams.MATCH_PARENT,
    LayoutParams.WRAP_CONTENT,
    LayoutParams.TYPE_SYSTEM_ERROR,
    LayoutParams.FLAG_NOT_FOCUSABLE,
    PixelFormat.TRANSLUCENT);

    LayoutParams.TYPE_SYSTEM_ERROR
    这带来了不同。”

    类似的问题:Pop up window over Android native incoming call screen like true caller Android app

希望这里的东西对你有帮助,如果解决了请更新。

更新:这解决了问题:(添加这个):

LayoutParams.TYPE_SYSTEM_ERROR

只要确保在布局膨胀之前添加它,否则它什么都不做。

关于android - 当在 Marshmallow 中设置 Key Guard 时,来电期间不显示 StandOut 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774585/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com