Android盒子开发

版权声明:本博客仅用于学习交流,欢迎转载,但请注明作者和出处 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)

在安装之前验证系统更新包的加密签名

猜你喜欢

转载自blog.csdn.net/weixin_37577039/article/details/82595787