diff --git a/res/values/strings.xml b/res/values/strings.xml index ea58ded89..c1c85531f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -183,7 +183,7 @@ Permissions for version %s Show permissions Display a list of permissions an app needs - You don\'t have any app installed that can handle %s + You don\'t have any available app that can handle %s Compact Layout Only show app names and summaries in list diff --git a/src/org/fdroid/fdroid/AppDetails.java b/src/org/fdroid/fdroid/AppDetails.java index 9a7a27d56..b8e4b780a 100644 --- a/src/org/fdroid/fdroid/AppDetails.java +++ b/src/org/fdroid/fdroid/AppDetails.java @@ -634,14 +634,15 @@ public class AppDetails extends ListActivity { return true; } + public void tryOpenUri(String s) { - try { - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(s))); - } catch (android.content.ActivityNotFoundException e) { - Toast toast = Toast.makeText(this, - getString(R.string.no_handler_app, s), Toast.LENGTH_LONG); - toast.show(); - } + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(s)); + if (intent.resolveActivity(getPackageManager()) != null) + startActivity(intent); + else + Toast.makeText(this, + getString(R.string.no_handler_app, intent.getDataString()), + Toast.LENGTH_LONG).show(); } @Override