私は、意図を開始したアプリにテキストを返さなければならないアプリを開発しています。IMEからの結果のアクティビティ開始
しかし、インテントを開始するアプリは、IME /ソフトキーボードです。 IMEがサービスであるため、StartActivityForResultは使用できません。
どうすればこの問題を解決できますか?私がこれまでに得たもの
:
キーボード:
final Intent intent = new Intent("com.example.helloworld.GETTEXT");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
intent.putExtra("keyboard", true);
startActivity(intent);
その他のApp:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle extras = getIntent().getExtras();
if (extras == null){
return;
} else {
finish();
}
}
@Override
public void finish() {
Intent data = new Intent();
data.putExtra("test", "PASSED");
setResult(RESULT_OK, data);
super.finish();
}
このためにブロードキャストレシーバーを使用できませんか? –