我正在为Android编写键盘替换应用程序,我需要定制足够的键盘,我需要在Activity中运行它,而不是将其保留在InputMethodService
类中。以下是我从InputMethodService
课程中调用键盘的方法:
@Override public void onStartInputView(EditorInfo attribute, boolean restarting) {
super.onStartInputView(attribute, restarting);
Intent intent = new Intent(this, Keyboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(intent);
}
我现在遇到的问题是我无法更新键盘输入应该去的文本字段。我尝试在我的服务类中创建一个静态InputConnection,然后从Activity更新它,但没有任何反应。
所以我猜这里是我的问题:我能够找到很多关于如何将数据从服务发送到活动的信息,但没有关于将数据从活动发送到服务(特别是输入法服务)的信息。有谁知道怎么做?
答案 0 :(得分:1)
使用Binder。
关于音乐播放器服务的本教程是一个很好的样本http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-ii
特别是这一行
mpInterface.addSongPlaylist(file.getName());