本帖最后由 毛阿毛 于 2023-9-18 07:14 编辑
今天发现小米电视好像偷偷更新了。老人模式。把用户装的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。连开机广告都来不及放,顺便解决了开机广告的问题。
|