操作输入方法设置后返回活动



我正在制作自定义键盘应用。
有一个按钮将用户从应用到Input Method Settings
这是目的:

startActivityForResult(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS), 2000);

现在,有没有办法在启用键盘后将用户返回活动?
编辑
有没有一种方法可以设置广播电台并在用户在警告窗口上单击"确定"按钮时注册?然后应用可以调用super.onresume()恢复活动。

startActivityForResult(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).addFlags
                (Intent.FLAG_ACTIVITY_CLEAR_TASK), 2000);

这应该有效,但请注意,Intent.FLAG_ACTIVITY_CLEAR_TASK Requeries> = 11 API级

因此,我只是催生了一个intentservice,同时启动"设置菜单"来听更改。我相信这也是Swiftkey的完成方式。

public class MyService extends IntentService {
    /**
     * Creates an IntentService
     */
    public MyService() {
        super("MyService");
    }
    @Override
    protected void onHandleIntent(Intent intent) {
        String packageLocal = getPackageName();
        boolean isInputDeviceEnabled = false;
        while(!isInputDeviceEnabled) {
            InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
            List<InputMethodInfo> list = inputMethodManager.getEnabledInputMethodList();
            // check if our keyboard is enabled as input method
            for(InputMethodInfo inputMethod : list) {
                String packageName = inputMethod.getPackageName();
                if(packageName.equals(packageLocal)) {
                    isInputDeviceEnabled = true;
                }
            }
        }
        // open activity
        Intent newIntent = new Intent(this, MainActivity.class);
        newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(newIntent);
    }
}

相关内容

  • 没有找到相关文章

最新更新