EasyClick 老鬼 编程学院
EasyClick 老鬼 编程学院
老鬼编程学院VIP 教程汇总
EasyClick 教程
原生UI 教程展示
原生UI 教程总纲
原生UI VIP 教程目录
原生UI 模版展示
模版一
模板二
模板三
模板四(暂未完成只有界面数据未处理)
模板 悬浮窗 获取点击坐标
模板 进度条
模板 搜索框
模板 卡密验证
模板 登录界面
模板 登录 主页联动
模板 浮窗启停
模板 运行模式检测
模板 搜索模板美化
模板 日期时间模版
模板 动态排版之加载三方应用列表
模板 UI执行 脚本任务显示
模板 旋转特效启停浮窗按钮加UI假启动
模板 对话框大全
模板 自定义对话框大全
模板 复用xml 高级对话框
模板 自定义listview
模板 浮窗日志
模版 自定义悬浮启停按钮
模版 脚本休息全屏
模板 SeekBar组件
模板 任务首页
模版 圆角悬浮窗日志
坐标拾取器
卡片分组模版
模板 定时任务
模板 自定义菜单多页面切换
模板 viewpager 抖音脚本界面
模板 可编辑表格
模板 侧边悬浮菜单弹窗
登录模版 字体引入
番外避坑
EasyClick 原生UI 避坑指南
商用模板
商用模版一
商用模板二
商用模板三
商用模板四
商用模板五
商用模板六
商用模板七
商用模版八(徒弟作品)
商用模版九
商用模版十
商用模版十一(游戏)
商用模版 十二 (小游戏阅读)
商用模版 十三 (小游戏阅读)
商用模版 十四(小游戏)
商用模版 十五(TK)
商用模版十六 (DY)
商用模版十七(徒弟作品)
原生UI xml文件 标签解释
原生UI教程xml扫盲篇
EasyClick 原生UI与Android UI XML的区别
原生UI 之常用控件一
原生UI 之常用控件二
原生UI 公有属性
原生UI之布局
XML 特殊符号转义
原生UI 学习思路
EasyClick auto.js对比
UI xml和H5的对比
EasyClick JavaScript通用教程
JavaScript基础教程
JavaScript调用java函数
JavaScript 调用java函数检测服务器连通性
JavaScript中的正则表达式总结
JavaScript 异常处理(try+catch+finally+throw)
常用数据类型检测结果表
JavaScript 常见问题集锦
JavaScript调用java函数获取MP3文件时长
JavaScript判断变量类型
JavaScript 提取数字
JavaScript 正则Replace方法
JavaScript 运算符使用技巧
JavaScript 字符串 转数组
JavaScript取整取余数的方法
JavaScript 数组随机取值
JavaScript 随机生成汉字
JSON 基础
JavaScript 随机生成字符串
JavaScript 正则 常用写法
EasyClick Android相关教程
ADB shell 之 adb shell之am、pm、dpm命令大全
EasyClick adb、shell命令大全
EasyClick 执行 shell命令
EasyClick shell 命令压缩文件
EasyClick shell分割大文件
Android Intent action 介绍
Android FLAG标志位解释
EasyClick Intent 打开应用详情页
EasyClick intent方式安装卸载APP
Intent教学培训
Activity
Android
安卓 版本API 对照表
EasyClick Java插件教程
EasyClick Android常用文档
EasyClick 常见错误
常见网络返回代码解释
模拟器连接端口汇总
EasyClick官网文档
EC无法停止的问题
模拟器自动获取root权限
夜神截图黑图解决办法
去除Windows文件^M的办法
EC设置为默认输入法
EasyClick 启动APP 替代方法
EasyClick 插件项目问题
EasyClick 热更乱码问题
EasyClick IEC 热更新 问题
EC 编译错误
打包选项和APP 设置属性对比
常用时间戳API
雷电模拟器开启指针
无障碍音量下键停止脚本
EasyClick IOS 常见问题
EasyClick IOS 2.X 环境安装 教程
EasyClick 黑苹果安装教程、资源、坑点处理
MAC OS Monterey 支持机型列表
工作室环境问题
XCODE签名问题
Windows10 系统盘 节省7G以上
EasyClick 远程调试内网穿透工具
IDEA 教程
EasyClick IDEA 教程
EasyClick IDEA 汉化
IDEA 常用快捷键
IDEA 常用开发插件
IDEA 创建多项目
IDEA 恢复历史记录
IDEA 常见问题
EasyClick 安卓Intent URL scheme VIP 教程
付费产品
EasyClick Android 自动化测试 ROM定制
EasyClick bug反馈工具 OSS版
卡密管理系统
卡密二次验证系统
EasyClick BUG 反馈 公共版
云控定制
设备购买
二手手机资源
Android 一手新机货源表
IOS推荐集线器西普莱厂家直供集线器
本文档使用 MrDoc 发布
-
+
首页
Android FLAG标志位解释
# Android FLAG标志位解释 1. FLAG_GRANT_READ_URI_PERMISSION 临时访问读权限 intent的接受者将被授予 INTENT 数据uri 或者 在ClipData 上的读权限。 2. FLAG_GRANT_WRITE_URI_PERMISSION 临时访问写权限 intent的接受者将被授予 INTENT 数据uri 或者 在ClipData 上的写权限。 3. FLAG_GRANT_PERSISTABLE_URI_PERMISSION 区别于 FLAG_GRANT_READ_URI_PERMISSION 跟 FLAG_GRANT_WRITE_URI_PERMISSION, URI权限会持久存在即使重启,直到明确的用 revokeUriPermission(Uri, int) 撤销。 这个flag只提供可能持久授权。但是接收的应用必须调用ContentResolver的takePersistableUriPermission(Uri, int)方法实现 。 4. FLAG_GRANT_PREFIX_URI_PERMISSION 权限授予任何原始授权URI前缀匹配的URI。 5. FLAG_DEBUG_LOG_RESOLUTION 解析intent时打印log messages,展示创建最终的resolved list 找到的信息 。比如有如下代码 : ```java Intent intent = new Intent(“android.provider.Telephony.SMS_RECEIVED”); intent.addFlags(Intent.FLAG_DEBUG_LOG_RESOLUTION); sendBroadcast(intent); ``` 将会按照优先级打印出系统所有注册”android.provider.Telephony.SMS_RECEIVED”的广播接收者。 6. FLAG_FROM_BACKGROUND 指明Intent来自后台操作 ,不是来自用户直接互动。 7. FLAG_ACTIVITY_BROUGHT_TO_FRONT 通常不是通过应用程序代码设置,而是通过系统如`launchMode singleTask`模式。 8. FLAG_ACTIVITY_CLEAR_TASK 如果在通过`Context.startActivity()`启动activity时为Intent设置了此标识,这个标识将导致:任何与此activity相关联的task都会被清除。也就是说, 此activity将变成一个空栈中新的最底端的activity,所有的旧activity都会被finish掉,这个标识仅仅和`FLAG_ACTIVITY_NEW_TASK`联合起来才能使用。 9. FLAG_ACTIVITY_CLEAR_TOP 当设置此标致,并且acitivity已经启动,那么不是启动一个新的activity,所有其他顶部的activity都会关闭,这个intent将被交付到(现在顶部)老的activity 做为新的intent。如果一个task由A,B,C,D组成,如果D调用startActivity(),跳到B, 然后C,D被finish掉,B接收新的intent ,结束栈中:A,B.现在运行的B的实例或者在onNewIntent方法中接收你start的新intent,或者自己finish掉然后重启一个新的intent。如果声明启动了启动模式是“multiple”(默认),并且你没有在这个intent中设置`FLAG_ACTIVITY_SINGLE_TOP`,就会finish掉然后重新创建。其他的启动模式。或者`FLAG_ACTIVITY_SINGLE_TOP`被设置了,intent将会传送到当前实例的onNewIntent方法中。这个启动模式也可以跟`FLAG_ACTIVITY_NEW_TASK`结合使用:如果用来start根activity,它将会在此task任务当前正在执行的实例bring to foreground,然后清除到跟状态。比如,当从notification manager启动一个activity。 10. FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET Android API21 过期,被`FLAG_ACTIVITY_NEW_DOCUMENT`代替。 11. FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 如果设置,新的Activity不会在最近启动的Activity的占中保存。 12. FLAG_ACTIVITY_FORWARD_RESULT 如果设置,并且这个Intent用于从一个存在的Activity启动一个新的Activity,那么,这个作为答复目标的Activity将会传到这个新的Activity中。这种方式下,新的Activity可以调用setResult(int),并且这个结果值将发送给那个作为答复目标的Activity。 13. FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY 这个标记通常不由应用程序代码来设置,如果是从历史中启动这个Activity,系统就会设置这个标记(长按home键) 。 14. FLAG_ACTIVITY_MULTIPLE_TASK 可以跟FLAG_ACTIVITY_MULTIPLE_TASK结合使用,当只用自己的时候相当于Manifast中`android.R.attr.documentLaunchMode=”intoExisting”`,当跟`FLAG_ACTIVITY_MULTIPLE_TASK`结合使用相当于 Manifast中`android.R.attr.documentLaunchMode=”always”`. 15. FLAG_ACTIVITY_NEW_DOCUMENT 默认情况`FLAG_ACTIVITY_NEW_DOCUMENT`创建的document当用户关闭时之前tasks的entry会被remove掉,如果想保持在历史中一遍重新launch,就要用到这个flag.当使task的activity finish掉以后,历史entry将保持在界面以便用户重新打开类似顶级应用程序的历史。 16. FLAG_ACTIVITY_NEW_TASK 如果设置了,这个Activity将会成为新任务历史栈的开始,如果已经有一个task运行着邀请新的activity,将不会启动新的activity;当前任务栈最后状态将会被展示在屏幕上查看`FLAG_ACTIVITY_MULTIPLE_TASK `,关闭这一特性。 17. FLAG_ACTIVITY_NO_ANIMATION 如果设置,将阻止系统get next activity的过渡动画。并不意味着一直不会有动画,如果另一个activity 的变化发生没有在start activity 显示之前指定,会有过渡动画。 18. FLAG_ACTIVITY_NO_HISTORY 如果设置,新的activity将不会保存在历史栈中。一旦用户离开这个activity,它就会被finish掉。也可以在manifest.xml中设置`activity android:hoHistory`属性设置。如果设置, OnActivityResult()方法将不会再被调用 。 19. FLAG_ACTIVITY_NO_USER_ACTION onUserLeaveHint()作为activity周期的一部分,它在activity因为用户要跳转到别的activity而要退到background时使用。比如,在用户按下Home键,它将被调用。比如有电话进来(不属于用户的选择),它就不会被调用。如果设置,作为新启动的Activity进入前台时,这个标志将在Activity暂停之前阻止从最前方的Activity回调的onUserLeaveHint()。典型的,一个Activity可以依赖这个回调指明显式的用户动作引起的Activity移出后台。这个回调在Activity的生命周期中标记一个合适的点,并关闭一些Notification。 如果一个Activity通过非用户驱动的事件,如来电或闹钟,启动的,这个标志也应该传递给Context.startActivity,保证暂停的Activity不认为用户已经知晓其Notification。 20. FLAG_ACTIVITY_PREVIOUS_IS_TOP 如果给Intent对象设置了这个标记,并且这个Intent对象被用于从一个既存的Activity中启动一个新的Activity,这个Activity不被看作决定是否传送新的intent到top而不是start新的,通常认为使用这个flag启动的Activity会被自己立即终止。 21. FLAG_ACTIVITY_RESET_TASK_IF_NEEDED `FLAG_ACTIVITY_RESET_TASK_IF_NEEDED`:如果设置该属性,并且这个activity在一个新的task中正在被启动或者被带到一个已经存在的task的顶部,这时这个activity将会被作为这个task的首个页面加载。这将会导致拥有这个应用的affinities的task处于一个合适的状态(移动activity到这个task或者activity从中移出),或者简单的重置这个task到它的初始状态 22. FLAG_ACTIVITY_REORDER_TO_FRONT 如果在intent里设置交给 startActivity(),这个flag会把已经运行过的acivity带到task历史栈的顶端。例如,一个task由A,B,C,D四个activity组成,如果D携带这个flag的intent调用startActivity()打开B,那么B就会被带到历史栈的前部,结果是:A,C,D,B.如果LAG_ACTIVITY_CLEAR_TOP 被设置,那么`FLAG_ACTIVITY_REORDER_TO_FRONT`将被忽略。 23. FLAG_ACTIVITY_SINGLE_TOP 如果设置了,如过Activity在栈顶将不会启动。 24. FLAG_ACTIVITY_TASK_ON_HOME 把当前新启动的任务置于Home任务之上,也就是按back键从这个任务返回的时候会回到home,即使这个不是他们最后看见的activity,注意这个标记必须和FLAG_ACTIVITY_NEW_TASK一起使用 25. FLAG_RECEIVER_REGISTERED_ONLY 设置这个flag,发送广播只有动态注册才能调用,组件(xml 中定义action)不会被被launch 我是Mr-老鬼、QQ1156346325 。交流QQ群:620028786,647082990 **------------------------------------------------版权声明------------------------------------------------------** 本文版权所有~Mr-老鬼 ~转载请注明原文地址 免责声明:本文所有的教程仅限交流学习使用不得用于违法用途,造成的法律后果本人不承担责任。
Mr、老鬼
2021年8月12日 13:55
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码