diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml
index 50ede87e..f20e1412 100644
--- a/mobile/src/main/res/values/strings.xml
+++ b/mobile/src/main/res/values/strings.xml
@@ -72,6 +72,7 @@
Stop
Shutting down…
%s
+ Permission denied to create a VPN service
Failed to start VPN service. You might need to reboot your device.
No valid profile data found.
diff --git a/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala b/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala
index f58ba3ae..df9a3a7d 100644
--- a/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala
+++ b/mobile/src/main/scala/com/github/shadowsocks/MainActivity.scala
@@ -167,7 +167,9 @@ class MainActivity extends Activity with ServiceBoundContext with Drawer.OnDrawe
override def onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Unit = resultCode match {
case Activity.RESULT_OK => Utils.startSsService(this)
- case _ => Log.e(TAG, "Failed to start VpnService")
+ case _ =>
+ Snackbar.make(findViewById(R.id.snackbar), R.string.vpn_permission_denied, Snackbar.LENGTH_LONG).show()
+ Log.e(TAG, "Failed to start VpnService: %s".formatLocal(Locale.ENGLISH, data.toString))
}
override def onCreate(savedInstanceState: Bundle) {