安卓应用如何在整个应用运行期间都禁止弹出输入法面板?

Posted _Vincent

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓应用如何在整个应用运行期间都禁止弹出输入法面板?相关的知识,希望对你有一定的参考价值。

在你的Activity的onCreate函数中添加如下代码即可完全禁用软键盘:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

所以,你想全局生效的话,可以写一个基类,例如:

public abstract class BaseNoIMActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
        onCreateStarted(savedInstanceState);
    }

    protected abstract void onCreateStarted(@Nullable Bundle savedInstanceState);
}

然后任意个Activity都继承它,如果你的项目已经有基类,那么把上面的代码插入到基类中即可,demo示例:

public class TestActivity extends BaseNoIMActivity {//继承基类

    @Override
    protected void onCreateStarted(@Nullable Bundle savedInstanceState) {
        setContentView(R.layout.activity_test);
        Log.e("test","TestActivity is started");
    }
}

 

引用自:https://segmentfault.com/q/1010000008489927/a-1020000008490261/revision

以上是关于安卓应用如何在整个应用运行期间都禁止弹出输入法面板?的主要内容,如果未能解决你的问题,请参考以下文章

安卓手机怎样禁止部分app联网

一个安卓应用的.apk怎么查看包名

如何禁止 alert在浏览器中弹出信息。

如何禁止“应用程序请求访问受保护的项目”弹出窗口

如何在应用启动期间触发方法? (安卓)

安卓上有啥可以控制和禁止软件权限的软件?