自25.07版本的云手机镜像开始,无影云手机支持使用本地输入法,可在部分场景下提供比云手机内置输入法更好的输入体验。
输入法对比
本地输入法是指运行云手机客户端或通过SDK调取云手机画面的本地设备上安装的输入法,即在本地输入,并在云手机实例中进行响应并输出。
本地输入法与云手机内置的输入法相比,各有优劣,分别适用于不同的场景,具体对比如下表所示。
对比项 | 云手机内置输入法 | 本地输入法 | |
效果 | 云手机内置Gboard输入法 | Windows本地的Emoji输入面板 | Pixel 8a本地的搜狗输入法 |
优势 |
|
| |
弊端 |
|
|
输入法切换方法
您可以根据需要切换输入法。
ADB
初次启用
在云手机实例刚刚创建完成时,需要启用云手机内置输入法。
adb shell settings put secure enabled_input_methods "com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME:com.wuying.wyime/.PseudoImeService"
切换为本地输入法
adb shell ime set com.wuying.wyime/.PseudoImeService
切换为云手机内置输入法
本示例中使用的是云手机预装的Gboard输入法,您也可以替换为其他输入法。
adb shell ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
Web SDK
请获取最新的SDK(以支持本地输入法)和Demo。具体操作,请参见Web SDK。
在连接时指定下面的参数。
config.useCustomIme=true
随后按照正常连接流程进行连接即可。详细信息可参见Demo。
Android SDK
Android SDK要启用本地输入法,需要在StreamView连接前监听来自ASP Engine的连接状态回调,并在连接成功的回调中将本地输入法设置为启用状态。
请获取最新的SDK(以支持本地输入法)和Demo。具体操作,请参见Android SDK。
@Override
public void onCreate() {
super.onCreate();
IASPEngineListener listener = new IASPEngineListener() {
@Override
public void onConnectionSuccess(int connectionId) {
mStreamView.getASPEngineDelegate().setImeType(ASPIMEType.ASP_IME_TYPE_LOCAL);
mStreamView.shouldProactivelyShowIME(true);
}
/* 注意:也需要实现其他接口 */
}
StreamView streamView = findViewById(R.id.stream_view);
streamView.getASPEngineDelegate().registerASPEngineListener(listener);
/* 其他 onCreate 过程 */
}