检查Android上的url架构是否存在

时间:2012-07-03 17:36:30

标签: android skype

我可以使用我的Android应用程序中的skype(或任何其他)应用程序和'skype://'等网址方案。
但我可以检查用户手机上架构的存在吗?与iOS中的canOpenURL一样 感谢。

2 个答案:

答案 0 :(得分:0)

一个方案本身毫无意义 - 它必须与ACTION_VIEW中的某些操作(ACTION_CALLIntent等)相关联。

如果您使用{{1}呼叫resolveActivity(),您的Java代码可以致电PackageManager上的Intent来确定系统是否会处理任何给定的startActivity() }}。

答案 1 :(得分:0)

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

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); 
}