【问题标题】:Is it possible to using voice commands for navigating instead of using swipe gesture?是否可以使用语音命令导航而不是使用滑动手势?
【发布时间】:2015-01-07 11:05:22
【问题描述】:

嗨,那里

目前,我正在开发一个沉浸式应用程序,以在屏幕上提供文本,用户可以通过 swipe_right 转到另一个。

实际上,它改编自名为charades(谷歌开发网站)的示例沉浸模式。

我的目标是,我想使用语音命令,而不是 SWIPE 手势。

例如;

  1. 用户打开沉浸式演示,屏幕将显示第一个文本。
  2. 用户希望通过使用语音“GO NEXT”进入下一个文本。
  3. 屏幕将显示另一个文本。

考虑到这个post

有没有办法做到这一点? 或有什么建议?

【问题讨论】:

标签: android google-glass google-gdk


【解决方案1】:

这里,这是我的解决方案。希望这可能对正在寻找的人有所帮助。

我使用Contextual voice commands 为用户提供“下一步”、“保存”和“退出”命令。您可以从 google 开发网站转到 this document 以查看执行此操作的想法。

我有我的布局 activity 来显示一些 TEXT,所以我把这个代码结构。在我的布局活动中

    //contextual voice command
import com.google.android.glass.view.WindowUtils;
import android.view.Menu;
import android.view.MenuItem;


@Override
public boolean onCreatePanelMenu(int featureId, Menu menu) {
    if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    // Pass through to super to setup touch menu.
    return super.onCreatePanelMenu(featureId, menu);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS) {
        switch (item.getItemId()) {

            case R.id.save_menu_item:
                Log.d("Contextual", "go save checks");  
                break;
            case R.id.next_menu_item:
                Log.d("Contextual", "go next checks");                    
                break;
            case R.id.exit_menu_item:
                Log.d("Contextual", "go exit checks");                    
                break;
            default:
                return true;
        }

        return true;
    }
    return super.onMenuItemSelected(featureId, item);
}                                                                                                                

不要忘记将这一行 getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); 声明给你的 onCreate();在你的setContentView()之前。

接下来,我在其中创建了“菜单文件夹”和main.xml,以提供我的项目选择。像这样

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/next_menu_item"
    android:title="@string/next">

</item>
<item
    android:id="@+id/save_menu_item"
    android:title="@string/save_this">
</item>
<item
    android:id="@+id/exit_menu_item"
    android:title="@string/exit">
</item>

还有我的strings.xml 文件。

<resources>
   <string name="next">next</string>
   <string name="save_this">save</string>
   <string name="exit">exit</string>
</resources>

把这一行 &lt;uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" /&gt;

致您的AndroidMenifest.xml

它对我来说很好用!

【讨论】:

    猜你喜欢
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多