[英]Check url schema existence on Android
I can use skype (or any other) application from my android app with url schemes like 'skype://'
. 我可以将Android应用程序中的skype(或任何其他)应用程序与url方案(例如'skype://'
。
But can i check existence of schema on user mobile phone? 但是我可以检查用户手机上模式的存在吗? Like canOpenURL
in iOS 就像iOS中的canOpenURL
Thanks. 谢谢。
A scheme is meaningless on its own -- it has to be tied to some action ( ACTION_VIEW
, ACTION_CALL
, etc.) in an Intent
. 方案本身是没有意义的-它必须与Intent
某些动作( ACTION_VIEW
, ACTION_CALL
等)相关联。
Your Java code can call resolveActivity()
on PackageManager
to determine if any given Intent
will be handled by the system if you were to call startActivity()
with that Intent
. 您的Java代码可以调用resolveActivity()
上PackageManager
,以确定是否有任何给定的Intent
将由系统,如果你要调用处理startActivity()
与Intent
。
You can use the following to check if the intent can be handled: 您可以使用以下命令检查意图是否可以处理:
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;
}
usage: 用法:
if(intentIsAvailable(appContext, yourIntent)){
startActivity(intent);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.