- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 this教程断开 vpn 服务的唯一方法是使用“系统管理的对话框”。这可以通过向下拖动通知栏并从那里选择它来手动完成,但这不是解决我的问题的好方法。
我需要能够在按下“断开连接”按钮时从我的应用程序中调出此对话框,但是我找不到关于如何执行此操作的任何文档。
有人能帮忙吗?
最佳答案
不幸的是,目前唯一公开和推荐的断开连接方式就是通过通知。不幸的是,断开连接甚至打开对话框的功能都被隐藏了。
当然,这并不一定意味着无法访问它们,但那样会带来很多痛苦。我没有在这个特定的案例中尝试过,但我过去曾这样做过,回溯过去,用音乐播放器找出正在播放的内容(用于音频扰频)。因此,如果您绝对必须找到一种方法来做到这一点,无论多么 hacky,那么您都可以尝试这个,但请记住,这涉及到访问您不应该访问的私有(private) API。该 API 可以在任何两个给定的 android 构建(不仅仅是平台版本)之间随心所欲地改变,因为它应该是私有(private)的和内部的。您需要使您的代码对此处的故障具有很强的弹性,坦率地说,它只不过是 hacky 和 PITA。
好吧,说了这么多,see line 171 in this
这就是你想要做的。除了你看不到你需要的东西,对吧?所以你需要 this AIDL for the service (可能还有一点反射(reflection),我忘记了 - 很久没有这样做了)。
This blog post描述了类似的东西,但不是很详细。很难找到谈论的事情,因为这是一种非常令人沮丧的做法。
关于Android VPNService - 如何从我的 Activity 中调出 'system-managed dialog'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14282361/
我是一名优秀的程序员,十分优秀!