かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

Android Google翻訳を呼び出すIntent。

marshmallow以降で、アプリ内翻訳が出来るようになったが、まだまだAndroid5が多い。ぼくのケータイもそうです。

で、今ラオス語お勉強アプリを作っていて、ラオス語の文と、日本語訳を並列して表示する画面を作っている。WebViewでGoogle翻訳サイトを出そうとしたけど出ない。普通にブラウザを呼び出せば表示される。Google翻訳自体を表示させるにはどうしたらいいかと思って、ちょっとやってみた。

Google翻訳アプリのIntentの扱いはちょくちょく変わっているらしく、StackOverflowでも結構盛り上がっている。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setPackage("com.google.android.apps.translate");

Uri uri = new Uri.Builder()
.scheme("http")
.authority("translate.google.com")
.path("/m/translate")
.appendQueryParameter("q", "ສະບາຍດີ")
.appendQueryParameter("tl", "jp") // target language
.appendQueryParameter("sl", "lo") // source language
.build();
intent.setData(uri);
startActivity(intent);

 

stackoverflow.com