在 Android 上以编程方式设置 VPN

2023-11-25

我找到了以下代码以编程方式建立新的 VPN,但我不知道如何使用它来创建我的应用程序

VpnService service = context.getSystemService(VPN_SERVICE);
VpnProfile profile = VpnProfile.create(L2TP_PROFILE);
profile.setName(myServerName);
profile.setServerName(myServerAddress);
profile.setRouteList("192.168.1.0/255.255.255.0,192.168.10.0/255.255.255.0");
service.connect(profile, "myUserName", "myPassword");
service.setNotificationIntent(myIntent);

谁能帮我提供示例代码吗? 甚至有可能实现 dis 吗?


注意:此答案已过时,现在可能不准确。

看看这个问题:如何以编程方式配置 VPN?

虽然你的不一定是重复的,但答案可能是相同的,因为你将需要公开隐藏的 API(如果可用)或更糟糕的是,依赖于被 root 的设备。

可以理解的是,以编程方式创建 VPN 连接会给最终用户带来固有的安全风险,不应在未经考虑的情况下实施。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 上以编程方式设置 VPN 的相关文章

  • java.lang.IllegalArgumentException:此组件要求您指定有效的 android:textAppearance 属性

    我的布局文件之一中有一个 com google android material button MaterialButton 组件 当我使用最新版本的 Material Components 库 com google android mat
  • Android 中多个蓝牙连接的自定义 UUID

    我有一个 Android 设备作为服务器连接到多个蓝牙 Android 客户端 我了解 UUID 的概念以及它的独特之处 我的问题是 我可以为连接到我的服务器的所有客户端使用相同的 UUID 吗 如果没有 我如何以编程方式为我的客户端生成
  • Android短音的正确播放方法?

    我正在创建一个应用程序 屏幕上将有多个图像 这些图像将是按钮 点击时会播放短促的声音 我对此进行了研究 只能找到我当前用来播放声音的方法 这似乎根本没有响应 我希望声音能够快速播放并且能够响应多次快速点击 我不确定这在 Android 中是
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • 如何在android中显示保存在sdcard文件夹中的图像[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 当我正在显
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 如何在 Android 中从 WorkManager 取消工作?

    我已经保存了 WorkManagerUUID转换成String在领域数据库中 这是代码 Constraints constraints new Constraints Builder setRequiredNetworkType Netwo
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 错误:(23, 13) 无法解决:com.google.android.gms:play-services:11.2.0“安装存储库和同步项目”不起作用

    我正在尝试在我的 Android 应用程序中获取位置并更新到服务器 这是我的 Gradle 代码 我在这里包含了compile com google android gms play services 11 2 0 这条线是从文档中 htt
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一

随机推荐

  • 将单词转换为字符列表[重复]

    这个问题在这里已经有答案了 我可以将一个句子分成单独的单词 如下所示 string This is a string with words string split This is a string with words 但我不知道如何将单
  • 从 formatCurrency 中删除货币符号

    我正在尝试格式化从数据库获取的收入总额 并使用 php 的 NumberFormatter 类和 formatCurrency 方法 但是 我不想用这个打印出实际的欧元 欧元符号 我只想要简单的数字 带有逗号和小数点 例子 1234 56
  • 手电筒相机2 API

    Android Camera2 API 中可以同时使用相机预览和手电筒吗 当我尝试使用时CameraManager setTorchMode String cameraId boolean enabled 当相机未打开时它工作正常 但是当相
  • 将 Javascript 回调传递给 Qml 中的 C++ 调用方法

    在 C 中 我有一个带有可调用函数的类 我想做的是从 QML Javascript 调用该方法 我已经开始工作 并向其传递一个 Javascript 回调 在代码中 我定义我的类如下 class MyObject public QObjec
  • Rails - AJAX 模态对话框?

    我有兴趣学习如何 AJAX 模式对话框 通常 如果我想向网站添加模式对话框 我会在主 JS 文件中添加 jquery UI 对话框代码 并将其绑定到 ID 我相信使用 Rails 我可以创建一个链接 它从服务器获取所有对话框代码 然后打开对
  • 将 TBytes (UTF-16) 转换为字符串的最佳方法是什么?

    在 Delphi 2009 中将声明为 TBytes 的字节数组转换为 unicode 字符串的最佳方法是什么 在我的特定情况下 TBytes 数组已经具有 UTF 16 编码数据 每个字符 2 个字节 由于 TBytes 不存储空终止符
  • 为什么 vscode 从打字稿缓存导入包

    我已经开始使用 cli 生成一个反应本机项目 该应用程序似乎工作得很好 但我注意到导入指向打字稿缓存而不是本地节点模块 我什至没有使用打字稿 IDE vscode 1 19 3 import React Component from rea
  • SwiftUI - 如何检测长按按钮?

    我有一个按钮 当按下它时 它会执行一些操作 但我想修改同一个按钮来检测较长的按下时间 并执行一组不同的过程 如何修改此代码以检测长按 Button action some processes Image systemName circle
  • 为什么 numpy 比 python 慢?如何让代码执行得更好

    我将我的神经网络从纯 python 重新编写为 numpy 但现在它的运行速度甚至更慢 所以我尝试了这两个功能 def d a 1 2 3 4 5 b 10 20 30 40 50 c i j for i j in zip a b retu
  • (远程)状态文件中的 Terraform 和明文密码

    Terraform 存储库上有许多关于此问题的 Git 问题 其中有很多有趣的评论 但截至目前我仍然没有看到此问题的解决方案 Terraform 将纯文本值 包括密码 存储在 tfstate 文件中 大多数用户都需要远程存储它们 以便团队可
  • Kafka Mirror Maker 无法复制 __consumer_offset 主题

    我正在尝试利用镜子制造商来复制 consumer offsets主题与其他主题一起 它给出了如下所述的错误 2018 10 24 16 16 03 802 ERROR 向主题发送消息时出错 consumer offsets 键 16 字节
  • 仅跟踪 iframe 历史记录

    我有一个包含 iframe 的页面 我只想跟踪 iframe 的历史记录 我尝试像这样使用历史对象
  • 动态添加侦听器到 Google 地图标记

    我正在开发一个页面 该页面使用 Javascript httpObject 获取代码并使用它来更新页面上的两个元素 一个谷歌地图和一个列出标记指向的内容的 DIV 那一点效果很好 问题是 当我创建标记时 我通过 for 循环来完成此操作 并
  • 在管道操作符时如何返回可观察的“forkJoin”

    在我拥有这个运行良好的解析器之前 resolve return forkJoin this getData1 this getData2 this getData3 现在我必须做一些实际上行不通的事情 resolve return this
  • 在构建器模式中管理订单的首选方法是什么?

    我创建了一个流畅的构建器样式模式来帮助加载测试数据 某些方法的顺序很重要 并且想知道管理正确顺序的首选方法是什么 我目前有以下情况 using NUnit Framework TestFixture public class DataBui
  • Swing动画运行速度极慢

    我当前使用 Java Swing 运行的动画存在问题 这是一个离散事件模拟 基于文本的模拟工作正常 我只是在将模拟连接到 GUI 输出时遇到问题 对于此示例 我将模拟 10 辆汽车 这些汽车代表的是JPanels我稍后将详细阐述这一点 因此
  • 如何在 Java Swing 中制作带有复选框的列表?

    在 Java Swing 中拥有每个项目都带有复选框的列表的最佳方式是什么 IE 一个 JList 其中每个项目都有一些文本和一个复选框 一个精彩的答案是这样的CheckBoxList 它实现了 Telcontar 的答案 尽管是 3 年前
  • Selenium:使用 Python 获取元素的坐标或尺寸

    我看到有一些方法可以通过 Selenium 的各种 Java 库获取元素的屏幕位置和尺寸 例如org openqa selenium Dimension 其中提供 getSize and org openqa selenium Point
  • LINQ - 序列不包含元素

    我正在使用 LINQ 查询 如下所示 object collection where t gt t id Equals 2 First 我收到错误 序列不包含元素 为什么结果不包含元素时会抛出错误 当没有找到结果时 它不应该返回 null
  • 在 Android 上以编程方式设置 VPN

    我找到了以下代码以编程方式建立新的 VPN 但我不知道如何使用它来创建我的应用程序 VpnService service context getSystemService VPN SERVICE VpnProfile profile Vpn