标签: strongswan

始终在线的 VPN 以编程方式打开 android

始终在线的 VPN 交换机可以以编程方式打开吗?

我已经添加了设备管理员权限。在那之后,我设置了始终与设备管理员一起使用

mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
    mDeviceAdminSample = new ComponentName(this, DeviceAdminReceiver.class);
    isAdminApp = mDPM.isAdminActive(mDeviceAdminSample);

    if (isAdminApp) {
        try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                mDPM.setAlwaysOnVpnPackage(mDeviceAdminSample,"", true);
            }
        } catch (PackageManager.NameNotFoundException namenotfoundexception) {
            namenotfoundexception.printStackTrace();
        } catch (Exception ex) {
        }
    }
Run Code Online (Sandbox Code Playgroud)

但它并没有启用始终开启。

我已经添加了包名

mDPM.setAlwaysOnVpnPackage(mDeviceAdminSample,"my.app.package.name", true);

但仍然没有启用开关。

那么这段代码在做什么呢?如何以编程方式启用它?

我希望这就像下图

永远在线的 VPN

java vpn android strongswan

6
推荐指数
1
解决办法
170
查看次数

JNI 在应用程序中检测到错误:JNI NewGlobalRef 被调用并带有未决异常 java.lang.ClassNotFoundException:

我正在开发 VPN 应用程序并遵循strongswan应用程序的代码。我已经使用了这个应用程序的代码,它正在.so通过 JNI加载文件,我已经从 strongswan 项目中复制了这些文件。它为以下文件之一提供了此例外:

A/art: art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "org.strongswan.android.logic.CharonVpnService" on path: DexPathList[[zip file "/data/app/com.whizpool.vpn-1/base.apk"],nativeLibraryDirectories=[/data/app/com.whizpool.vpn-1/lib/arm, /data/app/com.whizpool.vpn-1/base.apk!/lib/armeabi, /vendor/lib, /system/lib]]
art/runtime/java_vm_ext.cc:410]   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
art/runtime/java_vm_ext.cc:410]   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:511)
art/runtime/java_vm_ext.cc:410]   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:469)
art/runtime/java_vm_ext.cc:410]   at java.lang.String java.lang.Runtime.nativeLoad(java.lang.String, java.lang.ClassLoader, java.lang.String) (Runtime.java:-2)
art/runtime/java_vm_ext.cc:410]   at java.lang.String java.lang.Runtime.doLoad(java.lang.String, java.lang.ClassLoader) (Runtime.java:435)
art/runtime/java_vm_ext.cc:410]   at void java.lang.Runtime.loadLibrary(java.lang.String, java.lang.ClassLoader) (Runtime.java:370)
art/runtime/java_vm_ext.cc:410]   at void java.lang.System.loadLibrary(java.lang.String) (System.java:1076)
art/runtime/java_vm_ext.cc:410]   at void com.whizpool.vpn.logic.CharonVpnService.<clinit>() …
Run Code Online (Sandbox Code Playgroud)

vpn android protocols strongswan

5
推荐指数
1
解决办法
9974
查看次数

标签 统计

android ×2

strongswan ×2

vpn ×2

java ×1

protocols ×1