我正在写一个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'
键启动新活动。有没有办法,当用户完成新活动时,我可以让他们恢复打字并将键盘放回原样?
您正在键入的应用程序负责存储您在onPause()
和相关方法期间键入的数据。 然后,应用程序应在 onResume()
中恢复其状态。 请注意,这些都不能由键盘控制。
您可以做的一件事(取决于您正在启动的活动的性质)是让活动成为一个对话框。 然后它将出现在当前活动上,当对话框关闭(按下后退按钮或您调用finish()
)时,一切都会恢复原样。