diff --git a/app/src/main/java/com/github/kr328/clash/MainActivity.kt b/app/src/main/java/com/github/kr328/clash/MainActivity.kt index fa916f9..9541ceb 100644 --- a/app/src/main/java/com/github/kr328/clash/MainActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/MainActivity.kt @@ -35,8 +35,15 @@ class MainActivity : BaseActivity() { stopClashService() } else { val vpnRequest = startClashService() - if (vpnRequest != null) - startActivityForResult(vpnRequest, REQUEST_CODE) + if (vpnRequest != null) { + val resolved = packageManager.resolveActivity(vpnRequest, 0) + if ( resolved != null ) { + startActivityForResult(vpnRequest, REQUEST_CODE) + } + else { + makeSnackbarException(getString(R.string.missing_vpn_component), null) + } + } } } diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 5336ff9..0b8d6de 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -130,4 +130,5 @@ 了解更多关于分包机制 重新从 Google Play 安装 从 Github Release 下载 + 系统 VPN 组件缺失 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0d35d0e..72d7f04 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -172,4 +172,5 @@ https://github.com/Kr328/ClashForAndroid/releases %s - %s + Missing VPN Components