次のA3に出すべく、IMEを作っています。
Fabriccaはテスト的に作ったものですが、思ったよりも好評で1000ダウンロード、アクティブ45%という状況になっています。他のアプリよりも使われてますね。
主だった宣伝を行っていないのにも関わらず、じわじわダウンロードが増えているのは嬉しいのですが、機能的な面の追加を含めて、ひと通りつくり直しています。
いま、Mashroomの実装を行っているのですが、これが一苦労でして
- EditTextに文字列を入力
- Mashroomを起動。変換前の入力を拾う
- IMEがProxyActivityを起動。これはInputMethodServiceがStartActivityForResultが使えないので
- ProxyActivityがMashroomAppを起動。Resultで返却
- ここからが問題。どうやってProxyActivityが持った文字列をInputMethodServiceに「非同期で」渡すか?
Simejiは外部ファイルに書き出している、とある文書にありましたが、
実際はSharedPreferencesにしていると思われます。で同じ実装にするとタイミングで出たり出なかったり。どうもIMEとProxyActivityの動作が連動していないのが原因のようです。まだ一工夫が必要そうです。