Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

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

InterfaseVRInterfaseVR Posts: 4
NerveGear
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.

Comments

  • InterfaseVRInterfaseVR Posts: 4
    NerveGear
    edited May 2018
    Quick update:
    I noticed this sticked thread: https://forums.oculusvr.com/developer/discussion/63094/announcement-dangerous-permission-error-in-unity-mobile-applications-fix 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.

  • VoixtekvrVoixtekvr Posts: 2
    NerveGear
    @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?

  • InterfaseVRInterfaseVR Posts: 4
    NerveGear
    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!
  • VoixtekvrVoixtekvr Posts: 2
    NerveGear
    @imperativity I sent you the code a couple days back, can you confirm you got it?
  • athman80athman80 Posts: 4
    NerveGear
    edited May 2018
    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-b4thrcopperwaite-b4th Posts: 13
    NerveGear
    edited May 2018
    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-b4thrcopperwaite-b4th Posts: 13
    NerveGear
    edited May 2018
    @imperativity Sent in a private message.
  • rcopperwaite-b4thrcopperwaite-b4th Posts: 13
    NerveGear
    Okay. Well. Just recompiled and uploaded the exact same APK and it passed. Oh well.
  • play_eduplay_edu Posts: 13
    NerveGear
    edited June 2018
    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" />
  • NishantbtpsNishantbtps Posts: 2
    NerveGear
    Can anyone share Android Voice API for gear VR @play_edu
Sign In or Register to comment.