英语练习82 Showing off

本文探讨了人们倾向于通过展示自己的财富来获取他人认可的现象,并强调了真诚待人的重要性。文章指出,尽管有些人希望通过支付账单等方式来彰显自己的经济实力,但真正的友谊并不建立在金钱之上。
炫耀
有很多人喜欢炫耀。当他们和朋友外出时总是争着付帐。他
们老是想用自己的财富给别人留下深刻的印象。他们似乎认为钱
可以买到朋友。但事实上,钱无法买到朋友。他们不应炫耀,而
应做真正的自我。

Showing off

Many people are found of showing off.
They always insist of footing the bill when they are out with friends.
They always think of impressing people with their wealth.
They seem to think that money can buy friends.
In fact,it can't.
Instead of trying to show off,they should be themselves.

Nobody likes him ,because he likes to show off
和他共事很愉快 Working with him is fun.
I insist on writing the letter.
It's your turn to pay[foot] the bill.
He grew up in the wealthy[rich] family
I was impressed with her elegance.
I thought of you yesterday night.
He seems to be friendly.
He seems to know that Jone will be coming.
I think it is going to rain today.
Rather than study,I play around
Instead of studying ,I play around
Money isn't everything
Some people are good at sing
<think> 首先,用户的问是关于Android系统日志中的两条打印信息:"doKeyguard: not showing because lockscreen is off" 和 "KeyguardViewMediator: doKeyguard: not showing because externally disabled"。我需要解释这些日志在什么情况下触发。 从用户提供的引用中: - 引用[1]提到了设置“Immediately”锁屏时的行为。 - 引用[2]和[3]都指向KeyguardViewMediator.java中的onSystemReady方法,它调用doKeyguardLocked()。 - 引用[3]还提到了doKeyguardLocked()方法。 用户真正的需求是理解这些打印日志的触发条件,所以我需要基于Android源代码来解释。 回顾Android源代码(示例来自引用[2]和[3]): - KeyguardViewMediator.java中的onSystemReady方法: ```java public void onSystemReady() { synchronized (this) { if (DEBUG) Log.d(TAG, "onSystemReady"); mSystemReady = true; doKeyguardLocked(); } } ``` - 然后看doKeyguardLocked()方法。 在KeyguardViewMediator类中,doKeyguardLocked()方法负责决定是否显示锁屏(keyguard)。打印日志如"doKeyguard: not showing because lockscreen is off" 和 "KeyguardViewMediator: doKeyguard: not showing because externally disabled" 来自这个方法。 我需要回忆或推断这些日志的触发条件: - "not showing because lockscreen is off": 这可能是因为锁屏功能被禁用(e.g., 在开发者选项中或系统设置中)。 - "not showing because externally disabled": 这意味着锁屏被外部组件禁用,例如通过API调用或系统设置。 在Android源代码中,KeyguardViewMediator的doKeyguardLocked()方法检查多个条件来决定是否显示锁屏。以下是基于常见实现的逻辑: 1. 检查锁屏是否启用(通过设置)。 2. 检查是否有外部禁用标志(例如,mExternallyEnabled变量)。 典型代码片段: ```java private void doKeyguardLocked(Bundle options) { // ... if (!mExternallyEnabled) { if (DEBUG) Log.d(TAG, "doKeyguard: not showing because externally disabled"); return; } if (!isLockScreenEnabled()) { if (DEBUG) Log.d(TAG, "doKeyguard: not showing because lockscreen is off"); return; } // ...其他检查... } ``` - "externally disabled": 当mExternallyEnabled为false时触发。这通常在外部调用disableKeyguard()时设置。 - "lockscreen is off": 当isLockScreenEnabled()返回false时触发,这意味着用户在设置中禁用了锁屏。 触发条件: 1. **"doKeyguard: not showing because lockscreen is off"**: 当锁屏功能被禁用时触发。例如: - 用户在系统设置中关闭了锁屏(无密码、无 PIN)。 - 设备设置了“无锁屏”选项(如某些开发者模式)。 - 系统启动时,但锁屏未被启用。 2. **"KeyguardViewMediator: doKeyguard: not showing because externally disabled"**: 当锁屏被外部组件禁用时触发。例如: - 通过调用KeyguardManager.disableKeyguard(),这通常在应用中临时禁用锁屏,如在游戏或视频播放器中。 - 系统服务或其他组件设置了禁用标志。 用户的上一次问可能涉及锁屏行为(如引用[1]关于立即锁屏),但当前问是具体的日志打印。 回答结构: - 使用中文回答,正如系统指令要求。 - 结构清晰:先解释每个日志的含义,然后描述触发条件。 - 添加引用标识:[^1], [^2], [^3] 在适当的地方。 - 生成相关问作为任务的一部分。 生成相关问: - 指令说:"生成相关问",在示例中是"§§相关问§§"后列出。 - 基于主,提出相关问如: 1. 如何禁用或启用锁屏的外部控制? 2. 在Android开发中,如何临时禁用锁屏? 3. 锁屏日志的其他常见打印信息有哪些? 确保LaTeX语法正确: - 用户的问中没有数学表达式,所以可能不需要LaTeX。如果需要,只在必要时使用,如变量使用$...$。 完整回答: - 解释日志触发条件。 - 引用提供的引用,如提到onSystemReady方法。 - 结束时添加相关问。 </think> ### 锁屏日志打印触发条件分析 基于用户提供的引用和Android系统源代码(如KeyguardViewMediator.java),我将逐步解释 "doKeyguard: not showing because lockscreen is off" 和 "KeyguardViewMediator: doKeyguard: not showing because externally disabled" 这两种日志打印的触发条件。这些日志来源于Android锁屏管理模块(Keyguard),用于调试锁屏显示逻辑。以下分析基于典型Android系统实现(如AOSP源码): #### 1. **"doKeyguard: not showing because lockscreen is off" 的触发条件** - **含义**:此日志表明系统尝试显示锁屏(keyguard)时,检测到锁屏功能已被完全禁用。 - **触发场景**: - **用户在系统设置中禁用了锁屏**:例如,设置了“无锁屏”(None)选项(无密码、PIN或图案)。当系统调用`doKeyguardLocked()`时,会检查锁屏状态;如果锁屏被全局关闭,则记录此日志[^3]。 - **启动过程中锁屏未初始化**:在系统开机或重启阶段(如`onSystemReady()`方法被调用后),如果锁屏服务未正确初始化或配置为禁用状态,会触发此日志[^2][^3]。 - **开发者选项或特殊模式**:在开发者模式下,手动禁用锁屏功能(如adb命令设置),或在安全策略中强制关闭锁屏。 - **关键代码逻辑**: - 在`KeyguardViewMediator.doKeyguardLocked()`方法中,会调用`isLockScreenEnabled()`检查锁屏全局开关。 - 如果返回`false`(锁屏关闭),则打印此日志。例如: ```java if (!isLockScreenEnabled()) { if (DEBUG) Log.d(TAG, "doKeyguard: not showing because lockscreen is off"); return; // 退出锁屏显示 } ``` #### 2. **"KeyguardViewMediator: doKeyguard: not showing because externally disabled" 的触发条件** - **含义**:此日志表示锁屏被外部组件临时禁用,而非全局设置。 - **触发场景**: - **应用临时禁用锁屏**:当应用调用`KeyguardManager.disableKeyguard()` API时(例如,视频播放器或游戏需要全屏无锁屏),会设置外部禁用标志(`mExternallyEnabled=false`)。后续任何尝试显示锁屏的操作都会触发此日志[^2][^3]。 - **系统服务干预**:如电源管理服务(PowerManager)在设备唤醒时,或第三方应用(如定制ROM工具)通过系统广播禁用锁屏。 - **特定用户交互**:当用户快速切换锁屏状态(如按下电源键后立即解锁),系统可能临时禁用锁屏以防止反复触发。 - **关键代码逻辑**: - 在`KeyguardViewMediator.doKeyguardLocked()`中,会优先检查`mExternallyEnabled`标志。 - 如果外部禁用生效,则打印此日志并跳过锁屏显示: ```java if (!mExternallyEnabled) { if (DEBUG) Log.d(TAG, "doKeyguard: not showing because externally disabled"); return; // 退出锁屏显示 } ``` #### 总结 - **"lockscreen is off"** 日志由全局锁屏禁用触发(系统设置层级)。 - **"externally disabled"** 日志由外部临时禁用触发(应用或服务层级)。 两者均在`doKeyguardLocked()`方法中检测,该方法是锁屏显示的核心逻辑,常在系统事件(如开机、睡眠)时调用[^2][^3]。用户引用中提到的`onSystemReady()`方法是启动锁屏的入口点,它会调用`doKeyguardLocked()`,从而可能触发这些日志[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值