硕士生
 
- 金币
- 2061
- 好评
- 22
- 信誉
- 105
|
本帖最后由 hw1020 于 2026-4-26 23:42 编辑
使用adb或者root权限执行就可以。
用deepseek编写的。
通过快捷方式APP做个磁贴或者通知栏,然后就可以愉快的切换输入法了。
shell脚本开头可指定在几个输入法之间切换(开头我设置了我自己讯飞输入法小米版,讯飞输入法,微软输入法,谷歌ai输入法)。
内容可通过执行ime list -s得到,一行一个。
之后就可以愉快的和windows一样快速切换输入法了。
主要是现在有很多输入法都不给切换到其他输入法的按钮入口什么的。
快捷方式 APP可以之前的帖子下载到,或者酷安。
在APP内部添加一个shell,执行方式选择 shizuku或者root,看你自己。内容就这sh path即可,path是你shell保存的具体路径。
比如我的
源码如下。
- #!/system/bin/sh
- # ================= 白名单(用空格或换行分隔都可以,脚本会自动清洗) =================
- ALLOWED_IME="
- com.iflytek.inputmethod.miui/.FlyIME
- com.touchtype.swiftkey/com.touchtype.KeyboardService
- com.iflytek.inputmethod/.FlyIME
- com.typegpt.keyboard/.PureKeyboardIMS
- "
- # =========================================================
- ime="/system/bin/ime"
- settings="/system/bin/settings"
- # 获取当前输入法
- current=$($settings get secure default_input_method)
- # 清洗白名单:将换行、回车全部替换为空格,并压缩多余空格
- ALLOWED_IME=$(echo $ALLOWED_IME)
- # 获取已启用输入法列表
- enabled_list=$($ime list -s)
- echo "===== 白名单状态 ====="
- echo "已清洗白名单: $ALLOWED_IME"
- echo "当前输入法: $current"
- # ---- 核心切换逻辑 ----
- next=""
- found_current=0
- for item in $ALLOWED_IME; do
- # 检查是否在已启用列表中
- if ! echo "$enabled_list" | grep -Fxq "$item"; then
- echo " [跳过] $item (未启用)"
- continue
- fi
- echo " [可用] $item"
- if [ $found_current -eq 1 ]; then
- next="$item"
- break
- fi
- if [ "$item" = "$current" ]; then
- found_current=1
- fi
- done
- # 如果未找到下一个(比如当前是白名单最后一个,或不在白名单中),则使用第一个可用项
- if [ -z "$next" ]; then
- for item in $ALLOWED_IME; do
- if echo "$enabled_list" | grep -Fxq "$item"; then
- next="$item"
- break
- fi
- done
- fi
- if [ -z "$next" ]; then
- echo "错误:白名单中没有已启用的输入法。"
- exit 1
- fi
- echo "====== 切换至 ======"
- echo "[$next]" # 方括号能暴露首尾空格
- $ime set "$next"
- echo "完成"
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|