小编Jol*_*151的帖子

如何在最近使用的屏幕上隐藏应用程序内容,同时允许在具有非标准导航手势的手机上进行屏幕截图?

从最近使用的屏幕中隐藏应用程序内容的最直接且兼容的方法是使用FLAG_SECURE,它可以从最近使用的屏幕中隐藏应用程序内容,停止记录屏幕,并停止截取屏幕截图等。我只想从最近使用的屏幕中隐藏应用程序内容,同时允许所有其他操作。

这里的其他答案建议在这两个活动中设置标志onPause()并将其删除。onResume()这在大多数手机上都可以正常工作,但在某些手机上,例如我的 Android 9 上的 OnePlus 和我的同事 Android 10 上的 Moto G,除了 3 个底部按钮和药丸导航的标准选项之外,制造商还实现了自定义导航手势。使用这些自定义形式的导航时,应用程序会调用onPause(),但设置FLAG_SECURE不会在最近使用的屏幕上隐藏应用程序内容。

这是我的代码:

    override fun onPause() {
        super.onPause()
        // Set secure flag so the multitasking screen doesn't show the app contents
        // Need to clear on resume because this also stops screenshots from being taken
        window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
    }

    override fun onResume() {
        super.onResume()
        // Clear secure flag so the app is able to take screenshots
        window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
    } …
Run Code Online (Sandbox Code Playgroud)

android privacy

7
推荐指数
0
解决办法
1120
查看次数

是否有像 map 这样的集合函数将列表中的每个项目都变成两个项目?

假设我有一个整数列表,例如:

val list = listOf(1, 2, 3, 5, 8, 13)
Run Code Online (Sandbox Code Playgroud)

我想运行一个操作来创建一个类似的列表,但在每个元素之后都有一个附加元素。例如,我们应该能够-99在每个元素之后添加一个这样的:

[1, -99, 2, -99, 3, -99, 5, -99, 8, -99, 13, -99]

我可以使用 forEach 循环和临时列表轻松完成此操作,如下所示:

val list = listOf(1, 2, 3, 5, 8, 13)
val tempList = mutableListOf<Int>()
list.forEach {
    tempList.add(it)
    tempList.add(-99)
}
println(tempList) // [1, -99, 2, -99, 3, -99, 5, -99, 8, -99, 13, -99]
Run Code Online (Sandbox Code Playgroud)

但这似乎是不必要的冗长和命令。我发现的另一种方法是将每个项目映射到一个包含两个元素的列表,创建一个列表列表,然后展平结果。例子:

val list = listOf(1, 2, 3, 5, 8, 13)
val mapFlatten = list
    .map { listOf(it, -99) }
    .flatten() …
Run Code Online (Sandbox Code Playgroud)

kotlin

3
推荐指数
1
解决办法
51
查看次数

x86 cpu有什么样的地址指令?

我学到了一个地址,两个地址和三个地址指令,但是现在我想知道x86使用什么样的地址指令?

cpu x86 computer-science instruction-set cpu-architecture

2
推荐指数
1
解决办法
95
查看次数