隐式意图使用起来很方便,大家都会使用,那么如果应用在手机中找不到对应的应用,那么程序就会报错,如何避免呢?很简单,仅仅只要几行代码就可以避免这样的情况。
PackageManager packageManager = getActivity().getPackageManager();
if(packageManager.resolveActivity(pickContact,PackageManager.MATCH_DEFAULT_ONLY) == null){
mSuspectButton.setEnabled(false);
}
PackageManager.MATCH_DEFAULT_ONLY的作用是限定只搜索带有CATEGORY_DEFAULT标志的activity,如果搜索到这个acitivity,则返回ResolveInfo,若返回Null,则禁用此按钮