1

我可以使用我的 android 应用程序中的 Skype(或任何其他)应用程序和'skype://'.
但是我可以检查用户手机上是否存在架构吗?就像canOpenURL在 iOS 中一样
谢谢。

4

2 回答 2

1

您可以使用以下内容检查是否可以处理意图:

public static boolean intentIsAvailable(Context ctx, Intent intent) {
   final PackageManager mgr = ctx.getPackageManager();
   List<ResolveInfo> list =
      mgr.queryIntentActivities(intent, 
         PackageManager.MATCH_DEFAULT_ONLY);
   return list.size() > 0;
}

用法:

if(intentIsAvailable(appContext, yourIntent)){
   startActivity(intent); 
}
于 2015-10-16T15:56:43.033 回答
0

一个方案本身是没有意义的——它ACTION_VIEW必须ACTION_CALLIntent.

您的 Java 代码可以调用resolveActivity()PackageManager确定是否任何给定Intent将由系统处理,如果您要调用startActivity()Intent

于 2012-07-03T17:40:52.757 回答