Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android – 用户启用输入法后关闭IME设置活动大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_489_2@
如何在用户启用特定IME(或者可能只是任何ime,如果这是唯一的可能性)之后关闭IME设置活动(ACTION_INPUT_METHOD_SETTinGS),就像Google键盘一样.

我试过了两个:

Intent enableIntent = new Intent(SetTings.ACTION_INPUT_METHOD_SETTinGS);
        //enableIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        activity.startActivityForResult(enableIntent,0);

和:

Intent enableIntent = new Intent(SetTings.ACTION_INPUT_METHOD_SETTinGS);
        enableIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(enableIntent);

但是一旦选择/启用项目,它就无法返回到调用活动.

谷歌键盘打开IME输入设置屏幕,一旦启用键盘(单击复选框),设置活动将关闭,用户将返回到先前的向导活动.

@H_489_2@

解决方法

我也很难尝试解决这个问题.直到我意识到我可以检查AOSP实施 here.具体来说,检查 SetupWizardActivity.对我来说,看起来是谷歌旋转了一个Handler,它将对该州进行民意调查.具体来说,尝试按照SetTingsPoolingHandler#handlemessage

特别:

step1.setAction(new Runnable() {
        @Override
        public void run() {
            invokeLanguageAndInputSetTings();
            handler.startPollingImeSetTings();
        }
    });


    public void startPollingImeSetTings() {
        sendmessageDelayed(obtainmessage(MSG_POLLING_IME_SETTinGS),IME_SETTinGS_POLLING_INTERVAL);
    }

    @Override
    public void handlemessage(final message msg) {
        final SetupWizardActivity setupWizardActivity = getownerInstance();
        if (setupWizardActivity == null) {
            return;
        }
        switch (msg.what) {
        case MSG_POLLING_IME_SETTinGS:
            if (UncachedInputMethodManagerUtils.isThisImeEnabled(setupWizardActivity,mImmInHandler)) {
                setupWizardActivity.invokeSetupWizardOfThisIme();
                return;
            }
            startPollingImeSetTings();
            break;
        }
    }


    void invokeSetupWizardOfThisIme() {
       final Intent intent = new Intent();
       intent.setClass(this,SetupWizardActivity.class);
       intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
               | Intent.FLAG_ACTIVITY_SINGLE_TOP
               | Intent.FLAG_ACTIVITY_CLEAR_TOp);
       startActivity(intent);
       mNeeds@R_673_9747@justStepnumberToSystemState = true;
   }
@H_489_2@ @H_489_2@
@H_489_2@
@H_489_2@

大佬总结

以上是大佬教程为你收集整理的Android – 用户启用输入法后关闭IME设置活动全部内容,希望文章能够帮你解决Android – 用户启用输入法后关闭IME设置活动所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。