Open2
Androidから任意のアプリをアシスタント経由で起動させる
意外と闇が深かった
- やりたかったこと
- NTCとかFitとかのアプリで、毎回メニュー操作するの面倒だった
- 音声一発でアプリ起動して、目的に応じた画面に移動させたい
- 「OK Google、ヨガ!」・・・って叫ぶと、NTCが起動してお気に入りのヨガメニューを開始する・・・ようなことがしたい
- ルーチンタイマーとか、ややマイナーなアプリもタスクごとに音声だけで起動させたい
- Taskerで作ったアプリも同様に操作したい
- 一応実現はできた
- Taskerで「Hey Google Command Intercept」プロジェクトを取り込んで、カスタマイズした
- 「OK Google」でアシスタントを単体起動させてスタート
- アシスタント起動をInterceptして、音声認識を起動させ、そこで任意の独自音声コマンドを入力
- その認識結果をTasker内で作ったIF文の塊を通して、「独自音声コマンド」と「起動対象アプリ」を紐づけて起動する
- 任意のアプリの自動操作は、AutoInputプラグインを使い、RPAっぽく操作した
- 条件に合わないコマンドだった時は、再度アシスタントを起動させ、キーボード入力でアシスタントにコマンドを再入力させる(独自コマンドのみ独自の動きをさせ、それ以外は通常のアシスタントを起動させる)
- ネットでの情報は錯綜している
- Googleアシスタント単体でアプリが起動できる説
- アプリとアシスタントの紐付けは可能だが、不安定で確実性がない
- 設定画面で起動対象から除外するかを選べるが、有効にしても選んでくれるとは限らない
- 有名アプリは結構起動まではしてくれるが、細かい操作はできない。起動して終わり
- Google製アプリはちょこっとだけ中途半端に操作できたりする(Keepとか)
- マイナーアプリは今のところ、アプリ名を叫んでもWEB検索結果が返ってくるだけ
- 時間がたつと学習して起動してくれる説もあり
- 昔はAutoVoiceプラグインがGoogleNowサービスと連携して近いことができたらしい
- 今はGoogleNowサービスが終了しちゃってそのやり方は使えない
- AutoVoiceプラグイン自体を独自アシスタントとして登録して起動する
- 独自コマンドは作れるが、Googleアシスタントが使えなくなるのでこの方法は断念した
- Googleアシスタント単体でアプリが起動できる説
条件に合わないコマンドだった時は、再度アシスタントを起動させ、
キーボード入力でアシスタントにコマンドを再入力させる
・・・の箇所で、コマンドの再入力はできたが、そのあとの確定処理が有効にならずハマった。
頑張ってコマンドの最後にEnterを放り込むも、確定しない。
ソフトウェアキーボードのEnterを押すと確定する。
よくよくソフトウェアキーボード(GBoard)のEnterを見ると、マークが普段のリターン記号「↵」ではなく、「→」になってる。
SwiftKeyに変えてみると、今度はチェックマーク「✓」表示になってる。
ハハァ・・・、特殊なエンターキー文字に違いないと調べると、
enterkeyhintがヒット。
エンターキーの表示や意味合いを変えれるらしい。
確かに検索時は、エンターキーの箇所が虫眼鏡になってるもんね・・・
enter
入力
done
完了
go
進む
next
次へ
previous
前へ
search
検索
send
送信
SwiftKeyのチェックマーク「✓」から考えて、Done・・・だろ・・・と思ったら反応せず、
正解は「Go」でした・・・。
・・・わからん・・・。
結果的には無事確定まで持って行けて良かった。