ロボホンのアプリ開発者への道 声だけでメッセージを送る

「ごはんないよ」アプリを作成中。
起動するときの「ことば」を設定するところまできました。

今は、ボタンをタップするとメッセージを送るようになっているので、音声だけで送れるようにしたいと思います。

onResume()

いかにも必要そうなのでとりあえず有効化。

1
2
3
4
5
// VoiceUIManagerのインスタンス取得.
これの下のコメントアウトされていたものたちを有効化

//VoiceUIListenerの登録.
これの下のコメントアウトされていたものを有効化

ScenarioDefinitions.java

サンプルアプリを見て、勘で追加。

1
2
3
4
/**
* function:「ごはんないよ」をおくる
*/
public static final String FUNC_SEND_NAIYO = "naiyo";

MainActivity.java onExecCommand

サンプルアプリを見て、勘で追加。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Override
public void onExecCommand(String command, List<VoiceUIVariable> variables) {
Log.v(TAG, "onExecCommand() : " + command);
switch (command) {
case ScenarioDefinitions.FUNC_END_APP:
finish();
break;
case ScenarioDefinitions.FUNC_START_PROJECTOR:
//TODO プロジェクタマネージャの開始(プロジェクター利用時のみ).
//if(!isProjected) {
// startService(getIntentForProjector());
//}
break;
// 「ごはんないよ」追加
case ScenarioDefinitions.FUNC_SEND_NAIYO:
// メッセージ送信要求
sendBroadcast(getIntentForMessage());
break;
default:
break;
}
}

ホーム用シナリオ

そういえば、「ごはんないよ」で起動したかったんだと思い出して修正。

1
2
3
<situation priority="78" topic_id="start" trigger="user-word">
${Local:WORD_APPLICATION_FREEWORD} eq ごはんないよ
</situation>

こんな感じにしてみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<topic id="start" listen="false">
<action index="1">
<speech>${resolver:speech_ok(${resolver:ok_id})}</speech>
<behavior id="${resolver:motion_ok(${resolver:ok_id})}" type="normal" />
</action>
<action index="2">
<speech>きどうしたよ。</speech>
<behavior id="assign" type="normal" />
<control function="start_activity" target="home">
<data key="package_name" value="net.rissoku.tapontalk" />
<data key="class_name" value="net.rissoku.tapontalk.MainActivity" />
</control>
</action>
<action index="3">
<speech>メールするね</speech>
<behavior id="0x040808" type="normal" />
<control function="naiyo" target="net.rissoku.tapontalk">
</control>
</action>
</topic>

そして。

ロボホンへ送り込む。
動きも確認したいのでケーブルもはずし。
いちど頭のボタンを押してから。

  • わたし「ごはんないよ」
  • ここあ「うん」
  • ここあ「きどうしたよ」
  • ここあ「メールするね」(“りょうかーい”のときと同じうごき)
  • ここあ「なほに”ごはんないよ”っておくっていい?」
  • わたし「いいよ」
  • ここあ「りょうかーい。送信するね」

できたー。

参考にしたのは

0401_SR01MW_Application_Programming_Guide_V01_03_00.pdf
0601_SR01MW_HVML2.0_Specification_V01_01_00.pdf
HVML2.0_Specification_Appendix_A
サンプルアプリ:SampleSimple