Skip to main content
Inspiring
August 16, 2025

Extra runtime permission visible in App Settings

  • August 16, 2025
  • 1 reply
  • 231 views

Hello, I am testing my app, and I only use WRITE_EXTERNAL_STORAGE for media access. However, in Headset Settings → Privacy & Security → Installed Apps → [my app], I see that three permissions have been added. My manifest looks like this:

<!--?xml version="1.0" encoding="utf-8" standalone="no"?-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.example.app" android:installlocation="auto">
  <uses-permission android:name="android.permission.INTERNET" tools:node="merge">
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE">

  <uses-permission android:name="android.permission.RECORD_AUDIO" tools:node="remove">
  <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" tools:node="remove">
  <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove">
  <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove">
  <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" tools:node="remove">
  <uses-permission android:name="android.permission.READ_MEDIA_IMAGE" tools:node="remove">
  <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" tools:node="remove">
  <application android:name=".AppDelegate" android:label="@string/app_name" android:networksecurityconfig="@xml/network_security_config" android:requestlegacyexternalstorage="true" android:icon="@mipmap/app_icon" android:allowbackup="false">
    <activity android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" android:configchanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:launchmode="singleTask" android:name="com.unity3d.player.UnityPlayerGameActivity" android:excludefromrecents="true" android:exported="true" android:screenorientation="landscape">
      <intent-filter>
        <action android:name="android.intent.action.MAIN">
        <category android:name="android.intent.category.LAUNCHER">
        <category android:name="com.oculus.intent.category.VR">
      </category></category></action></intent-filter>
      <meta-data android:name="com.oculus.vr.focusaware" android:value="true">
    </meta-data></activity>
    <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false">
    <meta-data android:name="com.samsung.android.vr.application.mode" android:value="vr_only">
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest|quest2|questpro|quest3|quest3s" tools:replace="android:value">
    <meta-data android:name="com.oculus.ossplash.background" android:value="black">
    <meta-data android:name="com.oculus.telemetry.project_guid" android:value="xxx">
  </meta-data></meta-data></meta-data></meta-data></meta-data></application>
  <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true">
</uses-feature></uses-permission></uses-permission></uses-permission></uses-permission></uses-permission></uses-permission></uses-permission></uses-permission></uses-permission></uses-permission></manifest>

and this is what I see in the app settings:

As you can see, the "Photos and videos" and "Music and audio" permissions are also listed, even though I only requested the "Storage" permission. In my testing, I also found that disabling the "Photos & videos" toggle causes my app to stop working, even if the "Storage" permission remains enabled.

I believe that seeing multiple permissions in the list may cause users to lose confidence and feel uncertain about granting them—especially "Music and audio," which is unrelated to my app.

This topic has been closed for replies.

1 reply

Inspiring
August 20, 2025

append  " tools:node="remove" " to remove a permission in your androidmanifest.xml.  

Example:

 <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" tools:node="remove"/> 

EDIT: On second thought, your XML seems to be slightly malformed, which may be causing issues.  

Here's mine, which has all the media permissions removed:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto">
  <application android:label="@string/app_name" android:icon="@mipmap/app_icon" android:allowBackup="false">
    <activity android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:configChanges="locale|fontScale|keyboard|keyboardHidden|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:launchMode="singleTask" android:name="com.unity3d.player.UnityPlayerActivity" android:excludeFromRecents="true" android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="com.oculus.intent.category.VR" />
      </intent-filter>
      <meta-data android:name="com.oculus.vr.focusaware" android:value="true" />
    </activity>
    <meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="false" />
    <meta-data android:name="com.oculus.ossplash.background" android:value="black" />
    <meta-data android:name="com.oculus.telemetry.project_guid" android:value="xxxxxxxxx" />
    <meta-data android:name="com.oculus.supportedDevices" android:value="quest2|questpro|quest3|quest3s" tools:replace="android:value" />
  </application>
  <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
   <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove"/> 
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove"/>
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" tools:node="remove"/>
   <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" tools:node="remove"/> 
   <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" tools:node="remove"/> 
   <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" tools:node="remove"/>
   <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" tools:node="remove"/>
   <uses-permission android:name="android.permission.READ_MEDIA_IMAGE" tools:node="remove"/>
</manifest>