MainActivity.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package me.yoqi.android.safekeyboard;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.provider.Settings;
  6. import android.view.View;
  7. import android.view.inputmethod.InputMethodManager;
  8. import android.widget.Button;
  9. import android.widget.EditText;
  10. import androidx.appcompat.app.AppCompatActivity;
  11. import me.yoqi.android.safekeyboard.keyboard.KeyBoardDialogUtils;
  12. public class MainActivity extends AppCompatActivity {
  13. private KeyBoardDialogUtils keyBoardDialogUtils;
  14. private EditText et;
  15. private Button btnChangeIME;
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. initView();
  21. }
  22. public void initView() {
  23. btnChangeIME = findViewById(R.id.btnChangeIME);
  24. btnChangeIME.setOnClickListener(new View.OnClickListener() {
  25. @Override
  26. public void onClick(View v) {
  27. changeIME();
  28. }
  29. });
  30. et = (EditText) findViewById(R.id.et);
  31. keyBoardDialogUtils = new KeyBoardDialogUtils(this);
  32. et.setOnClickListener(new View.OnClickListener() {
  33. @Override
  34. public void onClick(View v) {
  35. keyBoardDialogUtils.show(et);
  36. }
  37. });
  38. }
  39. public void changeIME() {
  40. //1、判断是否系统启用了安全输入法没有启动者跳到设置界面
  41. if (true) {
  42. Intent enableIntent = new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS);
  43. enableIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  44. startActivity(enableIntent);
  45. } else if (false) {
  46. // 2、如果设置了安全输入法,但是没有启动,则跳转到切换输入法界面:
  47. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
  48. imm.showInputMethodPicker();
  49. }
  50. }
  51. }