最近做一个功能要传递intent到第三方应用。
自己测试的时候好好的,
别人测试app就崩溃了,
发现原来对方没有安装第三方app,
导致爆出 ActivityNotFoundException。
让对方安装好第三方app是个办法,但是崩溃仍然是不能忍的。
有什么办法可以确保 startActivity() startActivityForResult() 运行的时候有对应的Activity 让它处理呢?
这就贴代码
private boolean isIntentAvaileble(Context context, Intent intent){
List<> resolves = context.getPackageManager().queryIntentActivities(intent,0);
return resolves.size()>0;
}
只要 resolves 数组长度大于零,证明有可以处理该intent的activity,可以放心发出去了
网友评论