首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安卓应用安全指南 六、困难问题

如果输入/输出敏感信息(个人信息)的视图中,没有复制/剪切功能,信息泄漏永远不会通过剪贴板在你的应用发生。 有几种禁止复制/剪切的方法。...在这种情况下,禁止复制/剪切的最简单方法是禁用视图的长按。 禁用视图的长按可以在layout.xml文件中规定。 下面展示了示例代码,用于从EditText中的字符串选择菜单中删除复制/剪切条目。...禁止复制/剪切也可以通过禁用视图的长按来实现。...因此,必须在显示敏感信息的视图中禁用复制/剪切。 有两种方法禁用复制/剪切。 一种方法是从字符串选择菜单中删除复制/剪切条目,另一种方法是禁用视图的长按。...但是,“5.1.2.2 提供以明文显示密码的选项(必需)”中所述,如果准备了【以明文显示密码】的选项,则在以明文显示密码的情况下,输入类型将会改变,并且启用复制/剪切。因此应该要求采取同样的对策。

1.2K10

两种对齐方式,layout_gravity和gravity大不同

一期我们一起学习了LinearLayout线性布局的方向、填充模型和权重,本期来一起学习LinearLayout线性布局的对齐。...clip_vertical:附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容。剪切基于其纵向对齐设置:顶部对齐时剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部。垂直方向裁剪。...clip_horizontal:附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容。剪切基于其横向对齐设置:左侧对齐时剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧。水平方向裁剪。..." android:background="#0000ff" /> <TextView android:layout_width="match_parent"...android:textColor="#ffffff" android:background="#ff0000" /> <TextView android:layout_width

3.2K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android layout属性之gravity和layout_gravity「建议收藏」

    android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置 比如TextView: android:layout_gravity表示TextView在界面上的位置...,android:gravity表示TextView文本在TextView的什么位置,默认值是左侧....附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部....附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧. 水平方向裁剪 如下例子 <?...” android:layout_width=”fill_parent” android:layout_height=”fill_parent” > <TextView android:layout_width

    2.3K20

    android:layout_gravity和android:gravity的区别

    例如,在一个Button按钮控件中设置如下两个属性, android:gravity=”left”和android:text=”提交”,这时Button的文字“提交”将会位于Button的左部。...水平方向填充 center 将对象横纵居中,不改变其大小. fill 必要的时候增加对象的横纵向大小,以完全充满其容器. clip_vertical 附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容...垂直方向裁剪 clip_horizontal 附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容....vertical” android:layout_width=“fill_parent” android:layout_height=“fill_parent” > <TextView...=“@string/textview” /> <Button android:layout_width=“100dip” android:layout_height=“100dip

    1.6K20

    Android 内存优化】Bitmap 长图加载 ( BitmapRegionDecoder 简介 | BitmapRegionDecoder 使用流程 | 区域解码加载示例 )

    ---- 函数原型 : 解码 JPEG 或 PNG 中指定的矩形区域 ; Rect rect 参数 : 要解码的矩形区域 ; BitmapFactory.Options options 参数 : 解码选项...import android.os.Bundle; import android.widget.ImageView; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity...bitmapRegionDecoder.decodeRegion( new Rect(0, 0, 938, 938), //解码区域 null); //解码选项...布局文件 : 在布局中放置一个正方形的 ImageView , 显示剪切后的 938 x 938 大小的 Bitmap 图片 ; <?...执行效果 : 正方形的 ImageView , 显示从 938 x 7561 大小的图片剪切下来的 938 x 938 大小的图片 , 效果如下 ; 六、源码及资源下载 源码及资源下载地址 : ①

    1.6K10

    Material Design — 菜单(Menus)

    菜单 菜单的形式是在短暂的动作条展示选项列表。 菜单出现在与按钮,操作或其他控件的交互中。菜单显示的是一个一行只有一个选项选项列表。 如果不适用于某个情景,菜单项可能被禁用。...菜单栏通常使用单个单词作为标签,“文件”,“格式”和“编辑”。其他上下文可能需要更长的标签。 禁用菜单选项 菜单显示一组一致的菜单项。...·与当前情景无关的菜单项可能会被删除 ·与情景相关但需要满足某些条件的菜单项可能被禁用置灰)。 例如,当选择文本后,“复制”这个菜单选项才变为可选择项。...例如,当使网页的文本高亮时,Android显示“复制”菜单项,因为用户无法“剪切”或“粘贴”文本。 ? 情景菜单 菜单是可滚动的 如果菜单高度阻止其显示所有菜单项目,菜单可以在内部滚动。...菜单项例子 不可用的操作 将操作显示为不可用(置灰)而不是将其删除,让用户知道它们可以在正确的条件下存在。 例如,重做在没有任何可重做的操作时被禁用剪切和复制在没有选择内容时不可用。 ?

    5.8K100

    2014-10-25Android学习------布局处理(-)

    有点自动设置框度或者高度的意思 注意: android:width 其实是定义控件上面的文本(TextView) 的宽度,当然这个宽度也是和 android:layout_width 配合起来作用的..." 的属性是指控件中文本的格式,gravity是指文本的对齐方式等等,而其中文本的格式又受制约于它的控件在父控件中的属性. 2)线性布局的方向设置:android:orientation="";...android:gravity表示button的字在button的位置。...附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部....附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.

    1.4K40

    Android使用剪切板传递数据

    在Activity之间传递数据还可以利用一些技巧,不管windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切,然后其他的任何程序都可以从剪切板中获取数据...在Android-11(Android 3.0)版本之前,利用剪切板传递数据使用setText()和getText()方法,但是在此版本之后,这两个方法就被弃用,转而使用传递ClipData对象来代替。...tv=(TextView)findViewById(R.id.msg); tv.setText(msg); } 以上方式使用剪切板传递的为String类型的数据,如果需要传递一个对象,那么被传递的对象必须可序列化...Auto-generated catch block e.printStackTrace(); } } 总结 综上所述,使用剪切板传递数据有利有弊,剪切板为Android系统管理的,所以在一个地方存入的数据...,在这个Android设备上任何应用都可以访问的到,但是正是因为此设备访问的都是同一个剪切板,可能会导致当前程序存入的数据,在使用前被其他程序覆盖掉了,导致无法保证正确获取数据。

    1.5K10

    用户界面开发基础

    intent-filter标签的作用就是对Activity进行分类, intent-filter标签内部的 action标签表示Activity可以接收的动作 category表示Activity所属的种类 实际,...代码演示,通过剪切板传递Data对象。...说明: Base64类是从Android2.2开始支持的,2.1及其以下版本无法通过Android SDK API 进行Base64编码和解码,因此需要借助第三方的类库common httpclient...如果在类中大量使用静态变量(尤其是很占用资源的变量,Bitmap对象)可能会造成内存溢出异常,而且可能因为静态变量在很多类中出现而造成代码难以维护和混乱。...一层视图会覆盖下一层视图,类似于堆栈,因此也被称为堆栈布局。 ---- 线性布局LinearLayout 最常用的布局方式。 线性布局可以分为水平线性布局和垂直先行布局。

    1.8K20

    Android 性能优化】布局渲染优化 ( 过渡绘制 | 背景设置产生的过度绘制 | Android 系统的渲染优化 | 自定义布局渲染优化 )

    背景设置产生的过度绘制 : ① 组件背景 : 每个组件每设置一次背景 , 该组件的区域就会增加一层绘制 , LinearLayout 线性布局设置背景颜色 , TextView 设置背景颜色 , 都会增加该组件区域内的过渡绘制...组件背景设置策略 : 不要随便为组件添加背景 , 添加一次背景 , 就增加一次 GPU 绘制 ; 不要随意给布局中的 UI 组件设置背景 , 能不设置背景的就不设置背景 , ImageView 组件...实现上述图片 A 在 Canvas 画布绘制部分图片方式 : ① 完整画布 : onDraw 函数中的 Canvas canvas 参数是完整的画布 ; ② 取出图片 A 绘制部分的 Canvas...(); // 剪切画布 canvas.clipRect(left, top, right, bottom); ③ 在剪切后的画布中绘制图片 A : 在剪切后的画布中 , 绘制图片 A , 注意绘制完成后...A , 下图中的下面的部分图片 A 展示 ; 3. clipRect 函数原型 : 剪切画布 , 获取 Canvas 完整画布的子画布 , 传入左 , , 右 , 下 , 四个值 , 将画布剪切出来

    4.6K30

    Android studio开发-第一个入门例子(十分详细)

    在右侧可以看到它的具体信息,首先我们在 1 中修改 ID 为 button (记住这个ID,后面编程的时候会用到),在 2 中设置的是点击按钮所触发的动作,图中的 bigger 是设置的点击后触发的函数,3 中是按钮显示的字符...android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView...(不用真的下载到手机里面,直接在仿真器就可以看到我们写的APP的实现效果) 搭建仿真器,第一次需要联网: 点击三角形(run APP)的按钮,然后建立新的仿真器,选中图中的选项...(选了一个分辨率低的,运行快),然后next 接下来还是选择图中选中的选型,然后进行next 然后图中的 1 选项将其中的括号包括里面的字符去掉,因为仿真器的名字不能含有括号等字符。...本站提供信息存储空间服务,不拥有所有权,不承担相关法律责任。发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.5K31

    红队之剪贴板历史记录提取工具

    然而,传统只能提取最新的25条剪贴板数据,SharpClipHistory项目。...Windows10/11从1809版本开始引入了一项称为剪贴板历史记录的功能,允许用户通过按 来访问最近复制或剪切的25个项目Windows logo key + V。...该工具ClipboardHistoryThief专门用于提取剪贴板历史记录,超越了检索25个最新项目的限制。...尽管在客户端环境中启用剪贴板历史记录可能不是常见做法,但此工具提供了通过注册表编辑启用或禁用剪贴板历史记录功能的选项,而无需重新启动服务。...剪贴板历史记录选项注册表及键值: HKCU\Software\Microsoft\Clipboard EnableClipboardHistory(1启用,0禁用) 工具用法 Usage: ClipboardHistoryThief.exe

    25410

    安卓usb调试模式还是无法连接_android usb

    一 如何在不同品牌的Android手机上启用USB调试 由于Android手机的品牌多种多样,因此在这里我们列出国内最受欢迎的Android手机品牌,包括华为,OPPO,ViVO,小米,魅族向您展示如何调试...如何在魅族启用USB调试模式 操作步骤: (1)设置>>关于手机>>点击”版本号”7次; (2)设置>>其他设置>>开发人员选项>>开启开发者选项>>开启USB调试。...二 如何在不同的Android版本启用USB调试模式 不同安卓系统启用USB调试模式的方法不同,根据自己设备系统版本选择适合的方法进行调试。...2.在Android 3.0-4.1启用USB调试 开启方法:设置>>开发人员选项>>开启USB调试。...本站提供信息存储空间服务,不拥有所有权,不承担相关法律责任。发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.4K30

    Android 自定义验证码输入框的实例代码(支持粘贴连续性)

    需求 1、能自定义输入框个数和样式 2、支持长按粘贴或剪切板内容自动填充(粘贴连续性) 其中第2点是最为重要的,正是其他人没有这点,逼得自己弄一个 示例 别人的示例: ?...原理 大致是Edittext + n* TextView,然后设置edittext字体跟背景颜色都为透明,隐藏光标 Edittext:监听edittext每次输入一个字符就赋值到对应的TextView...,然后在清空自己 下划线:在TextView下面添加View 光标:这里的每个TextView的焦点光标其实对View设置了ValueAnimator 粘贴:粘贴弹窗是自定义的PopupWindow 源码有详细注释...:id="@+id/vciv_code" android:layout_width="match_parent" android:layout_height="wrap_content" android...:layout_marginTop="48dp" android:gravity="center" android:orientation="horizontal" app:vciv_et_background

    3K20

    安卓应用安全指南 5.1 创建密码输入界面

    这里提及与密码输入有关的内容。 对于如何保存密码,未来会发布另一篇文章。 要点: 1) 输入的密码应该被屏蔽显示(用*显示) 2) 提供以纯文本显示密码的选项。...-- Label for password item --> <TextView android:layout_width="fill_parent" android:layout_height...此外,如果存在以纯文本显示的选项,则还需要为系统准备,来自动取消纯文本显示,设置纯文本显示的时间。密码纯文本显示的限制,在未来版本的另一篇文章中发布。因此,密码纯文本显示的限制不包含在示例代码中。...5.1.3.4 禁用屏幕截图 在密码输入屏幕中,密码可以在屏幕上清晰显示。 在处理个人信息的屏幕中,如果屏幕截图功能在默认情况下处于启用状态,则可能会从屏幕截图文件中泄漏,它存储在外部存储器。...因此建议对密码输入屏幕禁用屏幕截图功能。 通过附加下面的代码可以禁用屏幕截图。

    1.1K20

    webview长按复制_安卓手机怎么复制图片的文字

    有这么一个需求,用户在浏览文本信息时希望长按信息就能弹出复制的选项方便保存或者在别的页面使用这些信息。类似的,就像长按WebView或者EditText的内容就自动弹出复制选项。...这里面主要是2个特点: 1、用户只能浏览文本信息而不能编辑这些文本信息; 2、用户对着文本信息长时间点按可以弹出”复制” 选项实现复制; 网上有好多种方法可实现,也比较零散, 此处做个小结,希望有所帮助...原理如上, 更直白简单的方法是直接在xml中使用一个EditText,并且将属性设置为 android:editable=”false” . 2、使用OnLongClickListener 直接使用TextView...TextView tv = new TextView(context); tv.setTextIsSelectable(true); 上面就是常见的长按文本信息弹出”复制”菜单的一些方法小结了,希望对大家有所帮助...本站提供信息存储空间服务,不拥有所有权,不承担相关法律责任。发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    3.6K20
    领券