小米电视开机启动指定APP脚本PY版

今天发现小米电视好像偷偷更新了老人模式,把用户装的APP放到某个分类里了。

本来用的好好的,这下父母又找不到看电视的APP了。

其实小米电视自带官方的API接口,国内好像讨论的不多。

这方法适家里有Python或者NAS,或其他任何可以执行Python脚本并且24小时开机的设备。

脚本前提

小米电视(要有固定IP,可以通过路由器绑定,脚本里是192.168.1.33)

树莓派(可以执行PYTHON的24小时运行的设备)

python3(需要安装requests模块)

脚本原理

24小时不停访问小米电视的API接口查询状态,只要发现开机,就立马发送启动APP的指令。

下面是代码,代码不多,有注释:

#!/usr/bin/python
# -*- coding: utf-8 -*-
#小米电视开机启动指定APP脚本

#pip install requests

import requests
import time

#是否开始TAG
isalive_tag = 0
#小米电视固定IP地址
mitv_ip = "192.168.1.33"
#开启启动的APP包名,可以用 mt管理器 打开AndroidManifest.xml,搜索package获取包名
my_app_name = "com.dianshijia.newlive" #这里是电视家的

#查询小米电视状态的API地址
mitv_info_url = "http://"+mitv_ip+":6095/request?action=isalive"
#使用小米电视API启动指定APP的地址
mitv_startapp_url = "http://"+mitv_ip+":6095/controller?action=startapp&&type=packagename&packagename="+my_app_name

while (1):
    time.sleep(1)
    if isalive_tag ==0:
        try:
            res = requests.get(mitv_info_url, timeout=1).json()
            if res['msg'] =='success':
                print("发现小米电视启动。尝试开启指定APP")
                res1 = requests.get(mitv_startapp_url, timeout=1).json()
                print(res1)
                isalive_tag = 1
        except:
                print("访问异常,跳过")
    else:
        #开机后继续检测。直到关机
        try:
            res = requests.get(mitv_info_url, timeout=1).json()
        except:
            print("访问异常,跳过")
            isalive_tag = 0

下面内容需要自己修改:

#小米电视固定IP地址
mitv_ip = "192.168.1.33"
#开启启动的APP包名,可以用 mt管理器 打开AndroidManifest.xml,搜索package获取包名
my_app_name = "com.dianshijia.newlive" #这里是电视家的

WIN下有Python环境的可以直接双击运行。查看效果。

(如何自动运行我就不发了。根据自己设备来)

执行效果

只要局域网内的小米电视一开。就会立马打开指定的APP。连开机广告都来不及放,顺便解决了开机广告的问题。

THE END