SHARP

RoBoHoN

RoBoHoN

頭のボタンでアプリを起動する方法について

フォーラム RoBoHoN SDKについて 頭のボタンでアプリを起動する方法について

  • 作成者
    トピック
  • #1810

    お世話になっております。ロボホン開発チームです。

    いくつかの法人様より問い合わせを受けておりますので、フォーラムの方にも共有いたします。
    頭ボタンでアプリを起動するようにした場合、他の全てのアプリの動作を制限することになるため
    一般のロボホン向けには利用できません。
    個人の利用用途にとどめていただくか、法人用途のお客様に提供される場合は適切な使い方のご説明
    をお願いします。

    アプリ起動時に常駐サビースを立ち上げておき、そのサービスでHOMEボタンイベントを受け取ります。
    HOMEボタンイベントを受け取ったら、HOMEシナリオ経由でアプリを起動するACCOSTを1秒待って実行します。
    ※HOMEボタン押下時の発話停止処理を回避するために、1秒待っておくのがポイントです。

    public class HogeService extends Service {
        @Override
        public void onCreate() {
    ~中略~
            mHomeEventReceiver = new HomeEventReceiver();
            IntentFilter filterHome = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
            registerReceiver(mHomeEventReceiver, filterHome);
        }
    
    ~中略~
    
        private class HomeEventReceiver extends BroadcastReceiver {
            @Override
            public void onReceive(Context context, Intent intent) {
     
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        VoiceUIVariableUtil.VoiceUIVariableListHelper helper
                            = new VoiceUIVariableUtil.VoiceUIVariableListHelper();
                        helper.addAccost(ScenarioDefinitions.ACC_START);
                        VoiceUIManagerUtil.updateAppInfo(mVoiceUIManager, helper.getVariableList(), true);
                    }
                }, 1000);
            }
        }
    

    HOMEシナリオでアプリを起動するために下記のような記述を記載しておきます。

    
    jp_co_sharp_sample_hoge_home.hvml
    
        <head>
    ~中略~
            <description>サンプルアプリのホーム起動シナリオ</description>
            <scene value="home"/>
            <accost priority="75" topic_id="start" word="jp.co.sharp.sample.hoge.start"/>
        </head>
        <body>
            <topic id="start" listen="false">
                <action index="1">
                    <control function="start_activity" target="home">
                        <data key="package_name" value="jp.co.sharp.sample.hoge"/>
                        <data key="class_name" value="jp.co.sharp.sample.simple.HogeActivity"/>
                    </control>
                </action>
            </topic>
        </body>
    

このトピックに返信するにはログインが必要です。