2014-05-15 7 views
1

나는 공식 문서의 정확한 단계를 따라 왔지만, 여전히 사용자 정의 음성 명령을 사용하여 내 응용 프로그램을 시작할 수 없습니다. 준수 단계는 다음과 같습니다Glass XE17.1 - 사용자 지정 음성 명령이 끊어 졌습니까?

1 strings.xml의 사용자 지정 음성 명령에 대한 새로운 문자열 리소스를 추가

<?xml version="1.0" encoding="utf-8"?> 
<trigger keyword="@string/glass_voice_trigger" /> 
:

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Hello World!</string> <string name="glass_voice_trigger">start example</string> </resources>

2 음성 시작 정의에 대한 새로운 XML 파일을 만듭니다

3 AndroidManifest.xml의 적절한 사용 권한 요청 :

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" /> 
다음과 같이

4 매니페스트 부분은 같습니다

<service 
    android:name="pl.infoshare.sample.helloworld.HelloWorldService" 
    android:icon="@drawable/ic_lap" 
    android:label="@string/app_name" 
    android:enabled="true" 
    android:exported="true"> 
    <intent-filter> 
     <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> 
    </intent-filter> 
    <meta-data 
     android:name="com.google.android.glass.VoiceTrigger" 
     android:resource="@xml/voice_trigger_start" /> 
</service> 

을 아직도, 나는 음성 명령을 사용하여 응용 프로그램을 시작할 수 없습니다입니다. 미리 정의 된 음성 명령 중 하나로 변경하면 응용 프로그램이 타임 라인에 나타나고 음성 명령을 사용하여 시작할 수 있습니다. 내가 놓친 게 있니?

+1

모두 괜찮아 보입니다. 음성 정의 XML 파일의 이름이 "voice_trigger_start.xml"인지 확인하십시오. – LongZheng

답변

-3

이전 버전의 몇 가지 버전부터 맞춤 음성 명령을 사용하려면 Google의 도움이 필요합니다. 유리 개발자 사이트에서 해당 요청에 대한 요청을 보낼 수 있습니다.

검토 this.

+0

고마워, 나는 포스트 X16 버전에서 자신의 음성 명령을 작성하는 것이 여전히 개발 목적으로 가능하다고 생각했다. – jackusz

+0

@jackusz 그러나 제목은 버전 XE17.1이므로 더 새 것이다. – Max

+0

등록 된 음성 명령은 Google의 승인을 받아야합니다. 사용자 정의 명령은 3 번에서 언급 한 원래의 포스터와 같이 개발 단계에서 계속 작동해야합니다. 제공 한 링크는 글래스 직원의 질문/솔루션과 마찬가지로 잘 알려져 있습니다. http://stackoverflow.com/questions/23097828/why- is-my-voice-command-ok-glass-menu-in-xe16입니다. 나는 이것이 올바른 해결책이라고 생각하지 않는다. – Prisoner

6

질문을 살펴보면, 나에게 아무 것도 나에게 잘못 나온 것처럼 보지 못했습니다. 그래서 small sample GDK project은 사용자 지정 음성 명령으로 시작되었으며 내 XE17.1 장치에서 정상적으로 실행됩니다. (보너스, 그것은 낮은 주파수 LiveCard를 데모 버튼!)

은 GitHub의에서 내 샘플을 아래로 당겨 시도하고 당신이 명령을 실행할 수 있는지 :

'OK Glass, start my awesome app' 

을 아래 관련 비트의 일부입니다.

의 AndroidManifest.xml :

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" /> 

    <application 
      android:allowBackup="true" 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.DeviceDefault"> 
     <activity 
       android:name=".MainActivity" 
       android:label="@string/app_name" 
       android:immersive="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 

     <service 
       android:name=".LowFreqLiveCardService" 
       android:enabled="true" 
       android:exported="true" 
       android:icon="@drawable/ic_launcher" 
       android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name= 
           "com.google.android.glass.action.VOICE_TRIGGER"/> 
      </intent-filter> 
      <meta-data android:name="com.google.android.glass.VoiceTrigger" 
         android:resource="@xml/voice_trigger"/> 
     </service> 

    </application> 

</manifest> 

고해상도/XML/voice_trigger.xml :

<?xml version="1.0" encoding="utf-8"?> 
<trigger keyword="@string/custom_keyword" /> 

고해상도/값/strings.xml의 : 여기

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <string name="app_name">Low Freq Demo</string> 
    <string name="heart_rate">Heart Rate</string> 
    <string name="custom_keyword">start my awesome app</string> 

</resources> 

가 링크입니다 voice command documentation으로 전송하면 여전히 미국에 대한 안내가 제공됩니다. 사용자 지정 음성 명령. 그리고, 내 테스트에서, 그들은 여전히 ​​일을합니다.