• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.2.9
软件大小:62.5M
更新时间:12-07

按键精灵iOS版
立即下载

软件版本:1.3.1
软件大小:29.2M
更新时间:09-29

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 34
发新话题 回复该主题

[教程心得] 【山海插件教程】直接用按键也能写插件功能 [复制链接]

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

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



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


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

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

范例:

重启:
  1. // reboot 是adb shell命令中的重启指令
  2. Call shanhai.Execute("reboot")
复制代码
关机:
  1. // reboot -p 是adb shell命令中的关机指令
  2. Call shanhai.Execute("reboot -p ")
复制代码
设置输入法
  1. Import "ShanHai.lua"
  2. // 设置搜狗输入法
  3. Call shanhai.Execute("ime set com.sohu.inputmethod.sogou/.SogouIME")
复制代码
ime 命令是adb shell命令里和输入法有关的命令,可以用来获取输入法和设置输入法,后面是跟上输入法的组件。
这个组件名可以通过山海插件里的GetIME来获取到。
在插件里的设置输入法命令,本身只附带有11种输入法,如果大家设备上有安装其他的输入法的话,那就可以利用execute这个命令自己去切换输入法了


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

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

范例:

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

  2. Dim ret = shanhai.Execute("dumpsys battery > /sdcard/tmp.txt")
  3. Dim text
  4. If ret Then
  5. TracePrint "命令执行成功"
  6. text = file.Read("/sdcard/tmp.txt")
  7. TracePrint text
  8. Else
  9. TracePrint "命令执行失败"
  10. End If
复制代码
dumpsys battery 是adb shell命令,用来获取电源相关信息,"dumpsys battery > /sdcard/tmp.txt" 这命令的意思就是把“dumpsys battery”的结果写入到“/sdcard/tmp.txt”这个文件里
之后我们再通过去读取这个文件的内容就能知道结果了。

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

  2. Function execute(cmd)
  3. Dim path = GetSdcardDir() & "/tmp.txt"
  4. Dim ret = shanhai.Execute(cmd & " > " & path)
  5. If ret Then
  6. execute = file.Read(path)
  7. Else
  8. execute = ""
  9. End If
  10. End Function

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

  13. // 获取设备内存占用信息
  14. TracePrint execute("dumpsys meminfo")
复制代码


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


    已有1评分我要评分查看所有评分

    本主题由 管理员 青黛 于 2018/4/9 13:48:49 执行 审核帖子 操作
    2#

    新手学习

    3#

    1111111111111

    4#

    学习了

    ddddddddddddddddddddddddddddddd

    5#

    111111111111111111111111111111111111111111111

    6#

    xczxczczx

    xzczxcz

    7#

    这个插件主要是干啥类?

    8#

    楼上的 你们很过分诶 全TMD都是乱码乱回复啊 至少也要装模作样啊
    全是1 全是B 还有D的子啊 你们这是 你们这是什么意思啊 你们前排没有前排的样子 这是亵渎山海师啊
    太过分了 我看不下去 所以我要好好的教育教育你们一下 灌水是不行的啊 绝对不可以的啊


    9#

    看看

    10#


    11#

    5555555555555555555555555555555555555555

    12#

    【山海插件教程】直接用按键也能写插件功能

    [url=http://bbs.anji
    13#

    新手学习

    14#

    程】直接用按键也能写插件功能修改

    15#

    谢谢分享

    16#


    17#

    111111111111

    18#

    看下 学习,多谢分享

    19#

    pppppppppppp

    20#

    学习交流

    发新话题 回复该主题