[山海教程]直接用按键也能写插件功能

 

现在越来越多的人都偏向于开发安卓按键精灵的脚本,对于安卓按键的命令需求也越来越多,有一些命令是按键本身不具备或者是不够完善,所以特此推出最强LUA插件-山海插件,以供同学们可以更好的开发自己的脚本。...





[山海插件教程-第二十四课]

用按键也能写插件功能

插件的起源

      现在越来越多的人都偏向于开发安卓按键精灵的脚本,对于安卓按键的命令需求也越来越多,有一些命令是按键本身不具备或者是不够完善,所以特此推出最强LUA插件-山海插件,以供同学们可以更好的开发自己的脚本。



本节内容介绍

      安卓按键的插件可以实现很多按键本身无法实现的功能,所以有些同学就会很羡慕会写插件的人。其实呢~~安卓按键的插件并没有那么的复杂,一些功能其实直接通过按键代码的封装也能实现,另外一些设备命令的话就是通过linux或者adb的命令行来实现的。

今天就教大家如何直接在按键里来实现插件的功能。



本节相关命令:

命令名称Execute命令功能执行shell命令参数参数1【必要】:字符串,shell命令

返回值命令执行成功返回true
应用场景
了解lua语言的同学就能知道这个其实就是lua当中的os.execute命令,相当于是用来执行一些常见的linux和adb 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命令来实现的。命令能实现的功能有非常多,这里就不具体介绍了,在网上可以找到非常丰富的教程,大家可以自行百度~

本节内容就讲解到这里啦!如果大家有什么好的建议或者需要了解某个功能,可以留言哦!

如果大家想对插件有更多的了解,可以阅读原文进行查看哦!下节课内容预告:获取QQ-“附近”功能组件名
点击下方“阅读原文”获取更多山海插件命令介绍及下载

↓↓↓





    关注 按键精灵


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册