有没有一种简单的方法可以使用 Android Studio (Kotlin) 中的 VpnService 连接到 VPN?我已经阅读了developer.android.com文档,但是作为一个新的 Kotlin 开发人员,我很困惑。我知道有一个示例 VPN 应用程序 (ToyVPN),但实现分布在多个文件中。
我正在寻找一种从 MainActivity.kt 轻松连接到 VPN的简单方法。
更新:解决方案可以通过多个外部文件展开。只要我能从 MainActivity.kt 中调用它就可以了。
这是我想要实现的示例:
package com.example.notekeeperlearnas
import android.app.Activity
import android.content.Intent
import android.net.VpnService
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.snackbar.Snackbar
import kotlinx.android.synthetic.main.content_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(findViewById(R.id.toolbar))
toggleButton.setOnCheckedChangeListener({ buttonView, isChecked ->
// Call a function to connect to a VPN
Snackbar.make(
buttonView, "Connecting to VPN: $isChecked",
Snackbar.LENGTH_LONG
)
.show()
})
}
}