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