首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从服务中打开(开关、设置)软键盘

如何从服务中打开(开关、设置)软键盘
EN

Stack Overflow用户
提问于 2012-12-21 15:56:44
回答 1查看 323关注 0票数 1

如何从我的服务打开(开关,设置)软键盘?

我的应用程序不包含任何活动。但我在我的服务中尝试在触发器上打开软键盘,当alient应用程序出现在屏幕上时。我在InputMethodManager的方法中找到了setInputMethod。第二个参数是键盘的id。我知道。但是第一个参数是IBinder。我的应用程序中的IBinder参数是什么?

添加详细信息:

我的应用程序由ServiceInputMethodService组成。

在服务分析中启动系统中的应用程序。在InputMethodService中-我的软键盘(IME)。如果在我的服务中我决定什么是启动正确的应用程序(我不拥有这个应用程序),我需要将当前的softkeyboard切换到我的输入法服务的输入法。只有开关,不能打开键盘。当用户点击客户端应用程序中的可编辑视图时,系统会打开我的软键盘。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 20:41:05

我的Service解决方案代码

代码语言:javascript
运行
复制
    ((InputMethodManager) contextService.getSystemService( Context.INPUT_METHOD_SERVICE)).setInputMethod( null, myInputMethodId);
    ((InputMethodManager) contextService.getSystemService( Context.INPUT_METHOD_SERVICE)).toggleSoftInputFromWindow( null, 1, 0);

附注:只有当我的应用程序是系统时,这才有效( setInputMethod的第一个参数中的null仅在我的应用程序是系统时可用)。我使用mv /data/app/myapp.apk /system/app/myapp.apk (基于https://stackoverflow.com/a/14257161/1665964)以编程方式获得我的应用程序的系统权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13986307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档