0

我正在写一个InputMethodService,基本上只是一个软键盘,我从它开始另一个活动:

class Foo extends InputMethodService {
    // ...
    private void startNewActivity() {
        Intent i = new Intent(this, NewActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(i);
    }
    // ...
}

但是当我这样做时,用户将处于打字过程中。例如,用户按下'a'键开始新的活动。有没有办法,当用户完成新活动时,我可以让他们恢复打字并将键盘恢复原状?

4

1 回答 1

1

由您输入的应用程序来存储您在其onPause()和相关方法中输入的数据。然后应用程序应该在onResume(). 请注意,这些都不能由您的键盘控制。

您可能能够做的一件事(取决于您开始的活动的性质)是让活动成为一个对话框。然后它将出现在当前活动上,当对话框关闭时(按下后退按钮或您调用finish()),一切都会恢复到原来的状态。

于 2012-04-09T21:50:33.803 回答