Android SDK permission requirements
The following permission requirements apply when working with the Vivox Android SDK:
Required
android.permission.INTERNET - Allows communication with Vivox servers
android.permission.RECORD_AUDIO - Allows microphone access
For more information, see the Android developer documentation on requesting app permissions.
Recommended
Note: Not giving these permissions might prevent some Vivox SDK features from working properly.
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.ACCESS_NETWORK_STATE - Allows access to network information
android.permission.ACCESS_WIFI_STATE - Allows access to Wi-Fi information
android.permission.BLUETOOTH - Allows access to Bluetooth devices on Android versions earlier than 12
android.permission.BLUETOOTH_CONNECT - Allows access to Bluetooth devices on Android version 12 and later
Note: On Android 12 (Android SDK version 31) and later, you need to request the android.permission.BLUETOOTH_CONNECT permission at runtime. For more information, see the Android developer documentation on Bluetooth permissions.
These permissions will be given by default to your app after it is compiled with the Vivox SDK.
To remove optional permissions that you do not want in your application, you need to have a custom AndroidManifest.xml file for your application. To create this file, complete the following steps:
Open your project in the Unity Editor.
Select Edit > Project Settings.
On the Player tab, open the Android section.
In the Publishing Settings section, enable the Build > Custom Main Manifest checkbox.
The file will generate in your assets, and its path will display after the checkbox.
When you have a custom AndroidManifest.xml
file, you can add the permission tag to it and specify tools:node”remove”
to ensure that, for example, android.permission.BLUETOOTH_CONNECT
is not included:
<uses-permission android:name="android.permission.BLUETOOTH" tools:node="remove" />