在NavigationBarTablet.java类setSearchMode方法中判断是否有语音模块,若有则显示,没有则不显示。
privateResolveInfo getResolveInfo() {
Intent intent =createVoiceSearchIntent();
ResolveInfo ri = mContext.getPackageManager().
resolveActivity(intent,PackageManager.MATCH_DEFAULT_ONLY);
return ri;
}
protectedIntent createVoiceSearchIntent() {
return newIntent(RecognizerIntent.ACTION_WEB_SEARCH);
}
通过 getResolveInfo() 返回值是否为空判断语音模块是否可用, null (不可)用; !=null (可用)