今天有个需求,就是通过intent启动一个activity前要先判断手机上是否存在该activity。
通过查找网上资料以及自己的试验,得到的解决方案如下:
使用Intent的resolveActivityInfo方法,该方法会查找与Intent匹配的最佳的activity的详细信息,
如果系统不存在该activity,则该方法会返回null。
根据官方帮助文档的描述,方法中的第二个参数可以是
Use any combination of GET_META_DATA
, GET_SHARED_LIBRARY_FILES
, to modify the data (in ApplicationInfo) returned。
另外,网上还提供了另外一种方案: