DIY

浮生一梦,寄情山海

山海师[山海学院院长] [教职工号:GK04] Rank: 16Rank: 16Rank: 16Rank: 16 独家品牌学院 果壳热大导师 果壳热教职工 果壳学长 果壳币: 159

发表于 2020-7-17 17:17:24 | 0 条回复 | 373 次浏览

约36秒
朗读
嗨~小伙伴们大家好!安卓按键的插件可以实现很多按键本身无法实现的功能,所以有些同学就会很羡慕会写插件的人。其实呢~~安卓按键的插件并没有那么的复杂,一些功能其实直接通过按键代码的封装也能实现,另外一些设备命令的话就是通过linux或者adb的命令行来实现的。今天就教大家如何直接在按键里实现插件的功能。

浮生一梦,寄情山海

浮生一梦,寄情山海


>>>>山海插件教程目录<<<<


相关命令:
命令名称:Execute
命令功能:执行shell命令  
参数:参数1【必要】:字符串,shell命令
返回值:命令执行成功返回true


了解lua语言的同学就能知道这个其实就是lua当中的os.execute命令,相当于是用来执行一些常见的linuxadb shell的命令

目前这个命令我只是简单的封装了原始的lua命令,所以只能返回命令本身是否执行成功。想要获取到命令的结果,可以看下面的教程

【范例】

重启:
// reboot 是adb shell命令中的重启指令
Call shanhai.Execute("reboot")


关机:
// reboot -p 是adb shell命令中的关机指令
Call shanhai.Execute("reboot -p ")


设置输入法:
Import "ShanHai.lua"
// 设置搜狗输入法
Call shanhai.Execute("ime set com.sohu.inputmethod.sogou/.SogouIME")

ime 命令是adb shell命令里和输入法有关的命令,可以用来获取输入法和设置输入法,后面是跟上输入法的组件。
这个组件名可以通过山海插件里的GetIME来获取到。
在插件里的设置输入法命令,本身只附带有11种输入法,如果大家设备上有安装其他的输入法的话,那就可以利用execute这个命令自己去切换输入法了


上面的命令都是用于设置,那如果想要获取一些信息该如何实现呢?

前面有说过,目前这个命令是只能返回是否执行成功,要想把执行的结果输出的话就得借助cmd命令里的重定向到文件的符号(>),这个功能可以把命令的结果写入到一个文本里,之后我们再去读取这个文本就好了。

【范例】

获取设备电源信息:
Import "ShanHai.lua"

Dim ret = shanhai.Execute("dumpsys battery > /sdcard/tmp.txt")
Dim text
If ret Then 
    TracePrint "命令执行成功"
    text = file.Read("/sdcard/tmp.txt")
    TracePrint text
Else 
    TracePrint "命令执行失败"
End If

dumpsys battery 是adb shell命令,用来获取电源相关信息,"dumpsys battery > /sdcard/tmp.txt" 这命令的意思就是把“dumpsys battery”的结果写入到“/sdcard/tmp.txt”这个文件里
之后我们再通过去读取这个文件的内容就能知道结果了。

那我们可以根据这个操作来封装一个获取执行结果的函数:
Import "ShanHai.lua"

Function execute(cmd)
    Dim path = GetSdcardDir() & "/tmp.txt"
    Dim ret = shanhai.Execute(cmd & " > " & path)
    If ret Then 
        execute = file.Read(path)
    Else 
        execute = ""
    End If
End Function

// 获取电源信息
TracePrint execute("dumpsys battery")

// 获取设备内存占用信息
TracePrint execute("dumpsys meminfo")


OK~~那这个命令就介绍到这里。有了这个命令,就可以直接在按键里去实现插件的功能了。很多命令都是需要依靠linux或者adb shell命令来实现的。命令能实现的功能有非常多,这里就不具体介绍了,在网上可以找到非常丰富的教程,大家可以自行百度~~


玩转山海

玩转山海

浮生若梦,梦移山海
发新帖
您需要登录后才可以回帖 登录 | 注册成为果猿 微信登录

手机版

© 2020-2030 果壳热 All rights reserved.

Powered by GUOHOT XS8.8. Theme designed by GUOKEHOT.

top bottom