【问题标题】:programmatically enable and set inputmethod以编程方式启用和设置输入法
【发布时间】:2012-12-08 16:46:37
【问题描述】:

我正在为安卓开发蓝牙键盘驱动程序。我想通过单击切换按钮自动启用我的键盘输入法并进行设置。通过启用我的意思是

现在我想通过单击切换按钮以编程方式执行此操作,我想为用户绕过这些步骤并为他们提供执行这些步骤的切换按钮。

InputMethodManager m = (InputMethodManager) BluezIMESettings.this.getSystemService(INPUT_METHOD_SERVICE);
m.setInputMethod(token, id);

现在我在哪里可以获得这个令牌和 ID? ,我在 API 描述中搜索我得到了这个

token 在输入法启动时为输入法提供识别标记,使其能够对自身执行此操作。

id 要切换到的新输入法的唯一标识符。

感谢您的帮助...

【问题讨论】:

    标签: android android-input-method


    【解决方案1】:

    您不能以编程方式设置输入法,您必须导航到设置,以便用户可以更改设置。 Android 保护了此选项,因此没有英国媒体报道软件接管该设备。

    与以编程方式启用 GPS 相同,这是不可能的!

    还有this question

    【讨论】:

    • 绝对正确。输入法对用户有许多安全和隐私影响;不允许应用静默更改这些设置。
    【解决方案2】:

    您可以通过编程方式设置输入法,但您必须使用平台密钥签署您的应用才能编写安全设置 (android.permission.WRITE_SECURE_SETTINGS),这将您的可能性限制在您自己的 Android 端口上。

    如果您使用平台密钥为您的应用签名,那么简单的答案——“不可能......”——实际上是不正确的。

    【讨论】:

    • 很遗憾,对于想要为 Google Play 构建和发布应用程序的开发人员而言,使用平台密钥签名并不是一种标准的操作方式,因此这可能对 OP 没有帮助。不过,这个问题似乎很有趣:stackoverflow.com/questions/4247818/…
    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 2021-07-10
    • 2017-03-01
    相关资源
    最近更新 更多