Android:如何为InputMethodService创建系统首选项屏幕

时间:2017-02-28 02:42:26

标签: sharedpreferences android-softkeyboard preferenceactivity android-input-method android-settings

我正在构建一个软键盘,我无法弄清楚如何正确构建一个显示在系统设置中的首选项屏幕。

我在xml(preferences.xml)中构建了元素屏幕,我已经填充了选项(只是一个简单的ListPreference来选择所需的语言)。这一切都很好。

启动键盘时(查看onCreate InputView()...)我已经设置了将默认首选项写入共享首选项:

PreferenceManager.setDefaultValues(getBaseContext(), R.xml.preferences, true);

SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

我还设置了一个共享首选项侦听器,以确定是否对首选项进行了任何更改,以便我可以更新字典:

SharedPreferences.OnSharedPreferenceChangeListener listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
            public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
                // do stuff
            }
        };
SP.registerOnSharedPreferenceChangeListener(listener);

所有这一切似乎都很好。但我不能为我的生活弄清楚如何让首选项屏幕显示在系统设置(设置 - >语言和输入 - >键盘和输入首选项),所以我实际上可以改变任何东西。所有其他键盘都有一个插槽,可以打开到可以调整设置的首选项屏幕。我的键盘名称有自己的插槽,但如果我触摸它没有任何反应。如何通过此处访问我的首选项屏幕?

0 个答案:

没有答案