您的位置:首页 > 新闻 > 资讯 > 免费域名网站哪个最好_是不是该填写完整_广州今日头条新闻最新_网站seo关键词排名推广

免费域名网站哪个最好_是不是该填写完整_广州今日头条新闻最新_网站seo关键词排名推广

2025/8/23 18:38:33 来源:https://blog.csdn.net/SunIOT/article/details/146298352  浏览:    关键词:免费域名网站哪个最好_是不是该填写完整_广州今日头条新闻最新_网站seo关键词排名推广
免费域名网站哪个最好_是不是该填写完整_广州今日头条新闻最新_网站seo关键词排名推广

安卓屏保调试 - Wesley’s Blog

先看一下在设置点击屏保预览后的调用链(Android 14)

User MaterialButton View DreamSettings DreamBackend 点击按钮( performClick()) performClick() 触发 onClick() (lambda 表达式) 调用 preview() User MaterialButton View DreamSettings DreamBackend

DreamController的打印信息

Starting dream: name=ComponentInfo{com.google.android.apps.tv.dreamx/com.google.android.apps.tv.dreamx.service.Backdrop}, isPreviewMode=true, canDoze=false, userId=0, reason=‘test dream’

DreamActivity是一个不需要注册的Activity,运行在各个屏保进程。

屏保应用实现DreamService即可。

屏保状态时,后台起应用会进入 onStop 状态(该例子 onStop 里面调用了 finish)

img

退出屏保的方法

1、有触摸或者按键输入

2、配置config_dismissDreamOnActivityStart 为 true 则会在新 activity 起来后退出屏保

 <!-- Whether to dismiss the active dream when an activity is started. Doesn't apply toassistant activities (ACTIVITY_TYPE_ASSISTANT) --><bool name="config_dismissDreamOnActivityStart">false</bool>

img

img

3、跨进程调用DreamManagerService 的awaken(需要系统签名)

import android.os.IBinder
import androidx.annotation.RequiresPermissionclass DreamManager {private val TAG = "DreamManager"//private var mDreamManager: Any? = context.getSystemService("dream")private var mDreamManager: Any? = nullinit {mDreamManager = try {val dream = Reflector.on("android.os.ServiceManager").method("getService", String::class.java).call<Any>("dreams")Reflector.on("android.service.dreams.IDreamManager\$Stub").method("asInterface", IBinder::class.java).call<Any>(dream)} catch (e: Exception) {null}}@RequiresPermission("android.permission.READ_DREAM_STATE")fun isDreaming(): Boolean {if (mDreamManager == null) {return false}return try {Reflector.with(mDreamManager!!).method("isDreaming").call()} catch (e: Exception) {false}}@RequiresPermission("android.permission.WRITE_DREAM_STATE")fun stopDream() {mDreamManager?.let {try {Reflector.with(it).method("awaken").call<Unit>()} catch (e: Exception) {}}}
}

屏保调试命令:cmd dreams

roc_rk3588s_pc:/ # cmd dreams -h

Dream manager (dreams) commands:

help

​ Print this help text.

start-dreaming

​ Start the currently configured dream.

stop-dreaming

​ Stops any active dream

cmd dreams start-dreaming

cmd dreams stop-dreaming

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com