从活动发送消息到服务 – Android
作者:互联网
我正在为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更新它,但没有任何反应.
所以我想这是我的问题:我能够找到很多关于如何将数据从服务发送到活动的信息,但没有关于将数据从活动发送到服务(特别是输入方法服务)的信息.有谁知道如何做到这一点?
解决方法:
使用Binder.
关于音乐播放器服务的这个教程是一个很好的样本http://www.helloandroid.com/tutorials/musicdroid-audio-player-part-ii
特别是这一行
mpInterface.addSongPlaylist(file.getName());
标签:textinput,android,service,android-activity 来源: https://codeday.me/bug/20191003/1846713.html