cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

[Oculus Go] "This app uses the speech API, which is not supported on this device"

InterfaseVR
Level 3
Hi,
I'm trying to upload the alpha version of my application on the oculus build dashboard, but I keep getting this message from the test status result: "This app uses the speech API, which is not supported on this device.".
I'm using Unity 2018.1.0f2 with all the oculus integration assets updated. I did some research and tried re-generating the AndroidManifest.xml with the tools->oculus feature, then added this line manually
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
inside the manifest template in Assets\Plugins\Android.
After the build I inspected the apk and noticed that the merged manifest file has this permission listed:
<uses-permission
android:name="android.permission.RECORD_AUDIO" />
which I guess could be the issue ... but I don't really know how to get rid of it, Unity seems to add it arbitrarily.
If I push the app directly from Unity to the Oculus Go it works without any issue so I'm a bit confused, I'm pretty sure I haven't written any line of code that could require such API
in order to run (or that RECORD_AUDIO permission to be added in the manifest file), yet I'm also pretty sure that I'm missing something obvious ๐Ÿ™‚
I hope somebody will be able to help me, thanks in advance.
13 REPLIES 13

InterfaseVR
Level 3
Quick update:
I noticed this sticked thread: https://forums.oculusvr.com/developer/discussion/63094/announcement-dangerous-permission-error-in-un... and thought that was the obvious thing I was missing, unfortunately I just tried again following those instructions and, while the RECORD_AUDIO permission is finally gone from the generated manifest file, i still get the same speech API error when I upload the APK on the Oculus platform, I don't really know what I am doing wrong at this point.

Voixtekvr
Level 2
@imperativity I am having a similar problem with the message "This app uses the speech API, which is not supported on this device".
The thing that I do not understand is that we already had a version working on Oculus Go and when I try to upload an update that warning is showing up.
The application does use the microphone, but no speech permissions have been set on the manifest.
What else should I check?

InterfaseVR
Level 3
I just discovered that a third party plugin we're using (mapbox) has references to the speech api, but it seems they can't be edited out. I'll ask their customer support how to solve my issue, thanks!

Voixtekvr
Level 2
@imperativity I sent you the code a couple days back, can you confirm you got it?

athman80
Level 2
i think Build natural language speech experiences that start with Cortana. Learn about new options for authoring natural language Voice Command Definitions (VCDs).
see: Tutuapp 9Apps Aptoide


rcopperwaite-b4
Level 2
Hey, we're seeing the same issue but we're unable to identify any issues in our AndroidManifest.xml - the automated test system is indicating that our build uses the Speech API, but we can't see any references to the Speech API in our manifest. Can anybody else spot the issue?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.B4thAdmin.BreakingFourth" android:versionCode="110" android:versionName="1.3.3.6" android:installLocation="auto">
<!-- Set target sdk version to Lollipop to prevent issues with Marshmallow's runtime permissions. -->
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26" />
<uses-feature android:glEsVersion="0x00030000" />
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />
<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<!-- explicitly limit READ_PHONE_STATE permission -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" android:maxSdkVersion="4" />
<!-- VR feature tags. -->
<uses-feature android:name="android.software.vr.mode" android:required="false" />
<uses-feature android:name="android.hardware.vr.high_performance" android:required="false" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application android:allowBackup="true" android:icon="@drawable/app_icon" android:label="@string/app_name" android:supportsRtl="true" android:debuggable="true" android:isGame="false" android:banner="@drawable/app_banner">
<activity android:name="com.purplepillvr.backgroundnetworking.ServiceInteractActivity" android:excludeFromRecents="true" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="landscape" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.INFO" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<service android:name="com.purplepillvr.backgroundnetworking.DownloadQueueService" android:exported="false" android:process=":PurplePillVRService">
</service>
<meta-data android:name="IMMERSIVE_MODE" android:value="true" />
<receiver android:name="com.breakingfourth.downloaddeleter.DownloadDeleterReceiver" android:directBootAware="true" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
<receiver android:name="com.breakingfourth.downloaddeleter.DownloadCompleteReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
</intent-filter>
</receiver>
<!-- For enableVrMode use the value vs. the string so Unity can build it. -->
<activity android:name="com.google.gvr.keyboardsupport.TransitionVRActivity" android:configChanges="orientation|screenSize" android:enableVrMode="com.google.vr.vrcore/com.google.vr.vrcore.common.VrCoreListenerService" android:exported="false" android:label="@string/app_name" android:resizeableActivity="false">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="com.google.intent.category.DAYDREAM" />
</intent-filter>
</activity>
<!-- For enableVrMode use the value vs. the string so Unity can build it. -->
<activity android:name="com.google.gvr.permissionsupport.TransitionVRActivity" android:configChanges="orientation|screenSize" android:enableVrMode="com.google.vr.vrcore/com.google.vr.vrcore.common.VrCoreListenerService" android:exported="false" android:label="@string/app_name" android:theme="@android:style/Theme.Dialog">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="com.google.intent.category.DAYDREAM" />
</intent-filter>
</activity>
<meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only" />
<meta-data android:name="unity.build-id" android:value="46521456-2d4e-479d-a2bb-17dd1455307a" />
<meta-data android:name="unity.splash-mode" android:value="0" />
<meta-data android:name="unity.splash-enable" android:value="False" />
<meta-data android:name="android.max_aspect" android:value="2.1" />
</application>
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
</manifest>

rcopperwaite-b4
Level 2
@imperativity Sent in a private message.

rcopperwaite-b4
Level 2
Okay. Well. Just recompiled and uploaded the exact same APK and it passed. Oh well.

play_edu
Level 3
Please Help.

I'm Using Android native Voice API.
in Gear VR Voice API work but Not on Oculus Go 
its Give me This Error "This app uses the speech API, which is not supported on this device."


Right Now my application under development so I cant share. 
I also added this to my android manifest. But it does not work.
  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  <uses-feature
    android:name="android.hardware.microphone"  android:required="false" />