At a glance

Already imported a config but unsure which Android permissions to change? Check them in this order: VPN access → background activity → apps included in the VPN. First establish a working connection, then address disconnects when the screen is off, and finally choose which apps use the proxy. Change one group of settings at a time and reconnect to test, so permission issues aren't mistaken for a problem with the server.

VPN access: create the local traffic path

In v2rayNG, select an imported config and tap the connect button in the bottom-right corner. The first time the VPN service starts, Android displays a connection request. Make sure the request is from v2rayNG before approving it. If you deny it, the service can't route app traffic through the VPN interface.

This permission is for Android's VpnService. It creates a virtual network interface on your phone, and the Xray core used by v2rayNG processes traffic according to the config. The system's “VPN” prompt refers to how traffic is routed; it doesn't mean every connection in your subscription uses the same VPN protocol or that every request is sent to a remote server.

  1. Check the config

    Select an existing config on the main screen and verify that the server address, port, and transport settings came from a trusted provider. VPN permission won't fill in a missing UUID, TLS setting, or transport option.

  2. Approve the request

    Tap the connect button and approve v2rayNG in Android's connection prompt. Depending on your device, the prompt may say “Connection request” or “Set up VPN connection.” Follow the wording shown on your screen.

  3. Check the service

    Check v2rayNG's status and the VPN indicator in Android. Recent Android versions may also request notification permission. Notifications and VPN access are separate permissions, so check each one independently.

  4. Test access

    Open a site you know requires the proxy and should be reachable, then test a site you normally access directly. A VPN indicator confirms that the service started, but not that the remote server and routing rules are working.

Battery optimization: check battery and background permissions separately

Start with Settings → Apps → v2rayNG → Battery. If your device offers options such as “Unrestricted” or “Allow background activity,” choose one that lets v2rayNG run in the background. Menu names vary by manufacturer. You can also long-press the v2rayNG icon, open App info, and look for the battery settings.

Android's built-in battery optimization, manufacturer background cleanup, and background data restrictions are separate controls. Excluding v2rayNG from battery optimization may reduce some sleep-related restrictions, but it can't guarantee that the process will never be stopped. Low memory, force-stopping the app, system updates, or network changes can still interrupt the service. You don't need to disable every battery-saving feature on your phone just to keep one client running.

API 23
Doze was introduced in Android 6.0
1
active VPN service per Android user profile
2
per-app options: proxy selected apps or bypass them
SettingWhere to lookWhat to do
Battery restrictionsSettings → Apps → v2rayNG → BatteryChoose Unrestricted or allow background activity.
Battery optimization listSearch Settings for “Battery optimization” → Show all appsFind v2rayNG and allow the exception offered by your system.
Auto-start managementSearch Settings for “Auto-start” or “App launch management”If your device offers this setting, allow v2rayNG to start in the background.
Background dataApp info → Mobile data & Wi-Fi or Data usageAllow background data. If Data Saver is on, check its exceptions too.

If it disconnects when locked, adjust background settings

If v2rayNG works in the foreground but disconnects when the screen is off, start by adjusting its battery and background data permissions. If it won't load even in the foreground, check the config and connection logs first. Separating these symptoms helps you troubleshoot the right cause.

Disconnects with the screen off: follow a consistent test

After changing the battery settings, stop and reconnect v2rayNG. Don't rely on the key icon alone: the service running, the underlying network working, and the remote connection succeeding are three different things. Keep the phone on the same Wi-Fi network during the screen-off test so a switch to mobile data doesn't complicate the results.

Locking the app in Recent apps may help on some devices, but it doesn't replace battery settings or guarantee a stable connection. Tapping “Force stop” in App info terminates the service. If you do this, reopen v2rayNG and connect again manually.

Per-app proxy: understand what the selected apps mean

In v2rayNG, open the side menu → Settings → Per-app proxy. Turn on “Enable per-app proxy,” then check “Bypass mode.” Options may appear in a different order depending on the version. The important thing is to confirm whether selected apps are routed through the VPN or excluded from it—not to infer the behavior from the checkmarks alone.

Proxy only selected apps

Recommended

Enable per-app proxy and turn off “Bypass mode.” Select only the apps that should use the VPN. For an initial test, choose one browser so it's easier to tell whether the setting works. Apps not on the list won't use this VPN connection.

Best for: routing only a few apps through the proxy, or testing the setup with a single app first.

Bypass selected apps

Enable per-app proxy and turn on “Bypass mode,” then select the apps to exclude. Selected apps bypass the VPN; other apps eligible for VPN routing use it. Newly installed apps will generally use the VPN too, so add them to the bypass list if needed.

Best for: routing most apps through the VPN while keeping a few local or LAN apps on a direct connection.

After saving, stop and reconnect v2rayNG so Android can rebuild the app list. Don't assume the change worked just because you left the settings screen. If the device has separate copies of an app in a personal profile, work profile, or app clone, make sure you've selected the copy in the same Android user profile as the active VPN. Apps with the same name may have different routing scopes.

App selection and routing rules: check both layers

First check Settings → Per-app proxy, then check the routing config in use. These settings do different jobs: the app list defines which traffic enters the VPN, and routing rules decide where that traffic goes. Using a VMess or VLESS server doesn't change the app list, and updating your subscription usually won't fix an inverted selection mode.

App selectionEnters the VPN?What happens next
Selected in proxy-only modeYesCurrent routing rules determine whether traffic goes direct, through the proxy, or is blocked.
Not selected in proxy-only modeNoUsually uses the system network, subject to system-level network restrictions.
Selected in bypass modeNoDoes not use this VPN's remote proxy route.
Not selected in bypass modeYesCheck whether the domain and IP rules route traffic through the proxy.

For a test, choose one browser in the app list and another outside it. Open the same trusted IP lookup page in both and reload it. If the current routing config sends that page directly, identical results are expected. Confirm that the test site matches a proxy rule before using the result to judge the app list. A single IP lookup doesn't tell you how every request from an app is routed.

Troubleshooting: VPN access, background activity, and app selection

I tapped Connect but no VPN prompt appeared. Did it start?

If you've already granted permission, Android may not show the prompt again. Check v2rayNG's service status, then search for “VPN” in Android Settings and look at active connections. If the connection fails, make sure you're using VPN mode rather than a mode that only provides a local proxy port, and check the logs.

I selected Unrestricted, but it still disconnects when the screen is off. Why?

Check the manufacturer's auto-start controls, background data permissions, and whether another VPN service has taken over. Repeat the 10-minute test described above and note whether the service stopped or kept running while access failed. In the latter case, also check mobile signal, the server connection, and DNS instead of repeatedly changing battery settings.

I selected my browser. Why are other apps affected too?

Go to Settings → Per-app proxy and check whether “Bypass mode” is enabled. If it is, selecting the browser excludes it instead of routing only the browser through the proxy. Turn off Bypass mode, keep the target app selected, and reconnect before testing again.

I enabled bypass, but the app can't connect at all. Why?

Check Android's VPN settings for an option such as “Block connections without VPN.” This policy may prevent apps outside the list from connecting directly. If this is a managed work device, don't change the policy without authorization. On a personal device, adjust it as needed and test again.

Do I need to redo these settings after updating my subscription?

A routine subscription update mainly refreshes server configs; it doesn't reset Android VPN permission, battery permissions, or the app list. After updating, make sure the selected config still works. Recheck these settings individually only after reinstalling the app, clearing its data, or changing system permissions.

Keep a brief record of your active config, network type, battery setting, per-app mode, and selected apps. When something goes wrong, reviewing these five items is more useful than changing servers, resetting routing, and changing background permissions all at once. For the basic import steps, see the other setup guides on this site.