版权声明:本博客仅用于学习交流,欢迎转载,但请注明作者和出处 https://blog.csdn.net/weixin_37577039/article/details/82595787
Android盒子开发
一、盒子重启
需要root权限
1 加权限:
<uses-permission android:name="android.permission.REBOOT"
tools:ignore="ProtectedPermissions" />
2 用系统PowerManager
PowerManager powerManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
powerManager.reboot("recovery"/null); //reason 如 recovery/null
HDMI监听
通过AudioManager的HDMI广播监听
需要动态注册 不能静态注册
action:ACTION_HDMI_AUDIO_PLUG 检测 HDMI是否插拔
// 1 是插入 0是拔出
intent.getIntExtra(EXTRA_AUDIO_PLUG_STATE, -1)
// 获取HDMI连接设备的编码
intent.getIntArrayExtra(EXTRA_ENCODINGS)
// HDMI设备支持的最大通道数
intent.getIntExtra(EXTRA_MAX_CHANNEL_COUNT,-1)
盒子安装
1 权限添加
<uses-permission android:name="android.permission.RECOVERY"
tools:ignore="ProtectedPermissions" />
2 重新启动设备以安装给定的更新包
RecoverySystem.installPackage(Context context, File packageFile)
File:要安装的更新包。必须位于可通过恢复装载的分区上。(已知恢复的分区集可能因设备而异。通常,/ cache和/ data是安全的。)
我的盒子只能在cache目录
并且要保证内存充足
rebootWipeUserData(Context context)
重新启动设备并清除用户数据和缓存分区
rebootWipeCache(Context context)
重新引导到恢复系统以擦除/缓存分区。
verifyPackage(File packageFile, RecoverySystem.ProgressListener listener, File deviceCertsZipFile)
在安装之前验证系统更新包的加密签名