小编yug*_*ico的帖子

android webview内容无法选择

我有一个webView.WebView显示带有文本,图像,按钮等的html.
我想做一些事情.

1)用户无法在webView中选择文本

2)点击和长按按钮的行为相同.

我做了下面的事情来解决我的问题:首先,我添加了html页面样式:

body {
     ...
     -webkit-user-select: none;
     -webkit-touch-callout: none;
     ...
}
Run Code Online (Sandbox Code Playgroud)

但它没有帮助我.该解决方案不适用于所有机器人.
所以我尝试为webView添加触摸侦听器.

听众守则:

webView.setOnTouchListener(new OnTouchListener() {

    private float prevX;
    private float prevY;

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        boolean handled = true;
        if (MotionEvent.ACTION_DOWN == event.getAction()) {
            prevX = event.getX();
            prevY = event.getY();
        } else if (MotionEvent.ACTION_UP == event.getAction()) {
            if (Math.abs(event.getX() - prevX) < 50
                    && Math.abs(event.getY() - prevY) < 50) {
                handled = (event.getEventTime() - event
                        .getDownTime()) > 200;
            }
        }

        Log.d("-------------------------------------------------", …
Run Code Online (Sandbox Code Playgroud)

android webview selectable android-webview

5
推荐指数
1
解决办法
1477
查看次数

有一种方法可以检测到某些应用程序模糊了我的应用程序,而不是通过触摸

我知道有一种方法可以检测某些应用程序是否覆盖了我的应用程序,即触摸过滤(标记android:filterTouchesWhenObscured)以防止劫持攻击.如果要创建一些策略来处理触摸,可以覆盖该方法

public boolean onFilterTouchEventForSecurity(MotionEvent event)

视图.例如,如果您的应用被其他窗口遮挡,则需要显示一些对话框.但是,如果用户触摸视图,您可以执行所有这些解决方案.我想在用户打开应用程序时显示一些对话框.可能吗?此外,我尝试模拟触摸事件,但我不知道在哪里可以获得MotionEvent.FLAG_WINDOW_IS_OBSCURED,然后设置为运动事件标志.

第二个问题:有没有办法说出什么应用程序模糊我的应用程序?例如,我知道有很多应用程序,例如黄昏,在显示器上添加了一些过滤器.他们使用特定权限(android.permission.SYSTEM_ALERT_WINDOW)来执行此操作.

谢谢.

android filter touch system-alert-window

5
推荐指数
0
解决办法
5543
查看次数