Loading core/java/android/net/VpnService.java +8 −1 Original line number Original line Diff line number Diff line Loading @@ -99,7 +99,7 @@ import java.util.List; * shut down the tunnel gracefully.</li> * shut down the tunnel gracefully.</li> * </ol> * </ol> * * * <p>Services extended this class need to be declared with appropriate * <p>Services extending this class need to be declared with an appropriate * permission and intent filter. Their access must be secured by * permission and intent filter. Their access must be secured by * {@link android.Manifest.permission#BIND_VPN_SERVICE} permission, and * {@link android.Manifest.permission#BIND_VPN_SERVICE} permission, and * their intent filter must match {@link #SERVICE_INTERFACE} action. Here * their intent filter must match {@link #SERVICE_INTERFACE} action. Here Loading @@ -112,6 +112,13 @@ import java.util.List; * </intent-filter> * </intent-filter> * </service></pre> * </service></pre> * * * <p> The Android system starts a VPN in the background by calling * {@link android.content.Context#startService startService()}. In Android 8.0 * (API level 26) and higher, the system places VPN apps on the temporary * whitelist for a short period so the app can start in the background. The VPN * app must promote itself to the foreground after it's launched or the system * will shut down the app. * * @see Builder * @see Builder */ */ public class VpnService extends Service { public class VpnService extends Service { Loading Loading
core/java/android/net/VpnService.java +8 −1 Original line number Original line Diff line number Diff line Loading @@ -99,7 +99,7 @@ import java.util.List; * shut down the tunnel gracefully.</li> * shut down the tunnel gracefully.</li> * </ol> * </ol> * * * <p>Services extended this class need to be declared with appropriate * <p>Services extending this class need to be declared with an appropriate * permission and intent filter. Their access must be secured by * permission and intent filter. Their access must be secured by * {@link android.Manifest.permission#BIND_VPN_SERVICE} permission, and * {@link android.Manifest.permission#BIND_VPN_SERVICE} permission, and * their intent filter must match {@link #SERVICE_INTERFACE} action. Here * their intent filter must match {@link #SERVICE_INTERFACE} action. Here Loading @@ -112,6 +112,13 @@ import java.util.List; * </intent-filter> * </intent-filter> * </service></pre> * </service></pre> * * * <p> The Android system starts a VPN in the background by calling * {@link android.content.Context#startService startService()}. In Android 8.0 * (API level 26) and higher, the system places VPN apps on the temporary * whitelist for a short period so the app can start in the background. The VPN * app must promote itself to the foreground after it's launched or the system * will shut down the app. * * @see Builder * @see Builder */ */ public class VpnService extends Service { public class VpnService extends Service { Loading