mirror of
https://gitee.com/willfree/min-vpn-client_v2.git
synced 2026-10-04 19:42:00 +08:00
调试MainActivity通过,可以正常调用VPNService
This commit is contained in:
1 parent
fbd3d46285
commit
5b3ac88746
3 files changed
+10
-3
No files matched your search
@@ -38,6 +38,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.qjm253.quick_android_base.extensions.ContextExtensionKt;
|
||||
@@ -122,7 +123,7 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
public void onCheckedChanged(RadioGroup group, int checkedId) {
|
||||
if(!isConnected){
|
||||
// 执行连接流程
|
||||
|
||||
connectVpn();
|
||||
}else{
|
||||
// 执行断开流程
|
||||
disconnectVpn();
|
||||
@@ -161,6 +162,7 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
* 连接VPN服务器
|
||||
*/
|
||||
private void connectVpn(){
|
||||
System.out.println("我要开始连接了");
|
||||
Set<String> packageNames = new HashSet<>();
|
||||
packageNames.add("com.pkusz.min_vpn_client");
|
||||
if (!checkPackages(packageNames)) {
|
||||
@@ -168,8 +170,10 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
}
|
||||
Intent intent = VpnService.prepare(this);
|
||||
if (intent != null) {
|
||||
System.out.println("用户尚未授权过开启VPN连接,请求用户授权...");
|
||||
startActivityForResult(intent, 0);
|
||||
} else {
|
||||
System.out.println("用户已经授权,准备开始VPN连接...");
|
||||
onActivityResult(0, Activity.RESULT_OK, null);
|
||||
}
|
||||
}
|
||||
@@ -181,9 +185,9 @@ public class MainActivity extends MINVpnBaseActivity<MainActivityPresenter>
|
||||
* @return
|
||||
*/
|
||||
private boolean checkPackages(Set<String> packageNames){
|
||||
boolean hasCorrectPackageNames = packageNames.isEmpty() ||
|
||||
@SuppressLint("QueryPermissionsNeeded") boolean hasCorrectPackageNames = packageNames.isEmpty() ||
|
||||
getPackageManager().getInstalledPackages(0).stream()
|
||||
.map(PackageInfo::describeContents)
|
||||
.map(packageInfo -> packageInfo.packageName)
|
||||
.collect(Collectors.toSet())
|
||||
.containsAll(packageNames);
|
||||
if (!hasCorrectPackageNames) {
|
||||
|
||||
@@ -112,6 +112,7 @@ public class SettingActivity extends MINVpnBaseActivity<SettingActivityPresenter
|
||||
MINVpnSettingAPI.INSTANCE.updateMirPort(Integer.parseInt(mirPort));
|
||||
MINVpnSettingAPI.INSTANCE.updateServicePrefix(servicePrefix);
|
||||
MINVpnSettingAPI.INSTANCE.updateEncryptedConfig(isEncrypted);
|
||||
System.out.println(MINVpnSettingAPI.INSTANCE);
|
||||
|
||||
// 显示保存成功的弹窗
|
||||
btnSaveSetting.postDelayed(() -> {
|
||||
|
||||
@@ -83,10 +83,12 @@ public class MINVpnService extends VpnService implements Handler.Callback{
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
// 根据intent传递的消息进行vpn的连接或断开操作
|
||||
if (intent != null && ACTION_DISCONNECT.equals(intent.getAction())) {
|
||||
System.out.println("onStartCommand-disconnecting...");
|
||||
disconnect();
|
||||
EventBus.getDefault().postSticky(new ConnectEvent(true, false));
|
||||
return START_NOT_STICKY;
|
||||
} else {
|
||||
System.out.println("onStartCommand-connecting...");
|
||||
connect();
|
||||
return START_STICKY;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user