coreelec与安卓 双系统共存-默认CoreElec引导后10秒计时进入android插件

本文主要是介绍coreelec与安卓 双系统共存-默认CoreElec引导后10秒计时进入android插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在把coreelec写入emmc后,默认打开coreelec,然后通过电源可以重启进入安卓。需要多点好多步骤,下面我通过自己制作的插件来实现开机倒计时默认进入安卓

  1. 首先需要打开设置服务里的允许本地控制,并且重启生效,
  2. 编写自动启动脚本 storage/.config/autostart.sh
    chmod +x autostart.sh
#!/bin/sh
(sleep 20  # 等待 Kodi 启动完成,可以根据需要调整等待时间/usr/bin/kodi-send --action="RunAddon(script.countdown)"
) &
  1. 制作插件在/storage/.kodi/建立新文件夹 script.countdown,并且放入两个文件
    addon.xml
<?xml version="1.0" encoding="UTF-8"?>
<addon id="script.countdown" name="Countdown" version="1.0.0" provider-name="Your Name"><extension point="xbmc.python.script" library="main.py"><provides>navigatescript</provides></extension>
</addon>

main.py

import xbmcgui
import xbmc
import time
import subprocess
import threading
class CountdownThread(threading.Thread):def __init__(self, duration):super(CountdownThread, self).__init__()self.duration = durationself._stop_event = threading.Event()def run(self):for remaining in range(self.duration, 0, -1):if self.stopped():breakself.show_notification(remaining)time.sleep(1)if not self.stopped():self.show_notification(0)restart_device()def stop(self):self._stop_event.set()def stopped(self):return self._stop_event.is_set()def show_notification(self, remaining):xbmcgui.Dialog().notification("重启安卓倒计时", f"剩余时间:{remaining} 秒")
def start_timer(duration):countdown_thread = CountdownThread(duration)countdown_thread.start()return countdown_threaddef stop_timer(countdown_thread):countdown_thread.stop()# 执行外部命令的函数
def run_external_command(command):process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)output, error = process.communicate()return output.decode(), error.decode()def restart_device():run_external_command("rebootfromnand")run_external_command("reboot -f")if __name__ == '__main__':dialog = xbmcgui.Dialog()timer = start_timer(10)#dialog.ok("计时器", "计时已开始")dialog.yesno("计时器", "要停止计时吗?")stop_timer(timer)
  1. 重启打开插件,查看和激活启用countdown。可以运行一下看下效果。

四步都完成了就可以了,在coreElec 20.2-Nexus的X96 MAX+测试通过。应该问题不大。

插件测试挺顺利,ssh直接用MobaXterm_Personal_23.0 访问开了ssh的kodi,
后面开机指令的发送出了点问题,因为第一步本地服务里的本地控制没有打开,造成kodi-send始终不执行。所以四步完成,一个方便一点的双系统就成了。

整个过程的chat-gpt的提示下完成,后来google也没帮太大忙。运气
下载地址 http://pan.ezdial.cn/nasone/tvbox/script.countdown.zip

这篇关于coreelec与安卓 双系统共存-默认CoreElec引导后10秒计时进入android插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/429846

相关文章

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR