我一直在android应用程序中实现窃听防御,但我发现FLAG_WINDOW_IS_OBSCURED在android 7.0上设置了标志,但在android 10.0上没有设置,而窗口被另一个应用程序遮挡。
你知道为什么会发生吗?
我在模拟器和物理设备上测试了它。覆盖测试应用程序是黄昏。官方文档感觉没什么用。
我发现了这个评论:
FLAG_WINDOW_IS_OBSCURED 仅在覆盖层中继触摸事件并且触摸坐标实际上被遮挡时才起作用
这可能表明,在较新的 Android 版本中,它也必须模糊触摸坐标,但我找不到任何模糊触摸坐标的应用程序来测试它。
为了集中检测重叠的应用程序,我使用了:
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
final boolean obscuredTouch = (event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) != 0;
if(obscuredTouch) return false;
return super.dispatchTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
在所有其他活动扩展的 BaseActivity 中。
我认为视图的Android 标签
android:filterTouchesWhenObscured
使用了相同的标志FLAG_WINDOW_IS_OBSCURED(如果我错了,请纠正我):
我在将“@material-ui/core”导入到我的react/typescript/webpack应用程序时遇到问题。总是当我跑步的时候
webpack --config webpack.config.js
它因错误而失败
Cannot find module '@material-ui/core'
Visual Studio Code 中也强调了同样的错误。
我的 index.tsx 看起来像这样
import React from "react";
import ReactDOM from 'react-dom';
import { Button } from "@material-ui/core";
function App() {
return <Button>Hi dudes</Button>
}
ReactDOM.render(<App />, document.getElementById("root"));
Run Code Online (Sandbox Code Playgroud) 我有类似的东西:
.parent {
height: 400px
}
.child {
height: inherit;
}
Run Code Online (Sandbox Code Playgroud)
我需要用像素来改变一个继承的高度 - >像这样的东西
.child {
height: inherit - 10px
}
Run Code Online (Sandbox Code Playgroud)
所以child height会390px在我们的例子.问题是继承的高度是一个对象.
有什么办法吗?