我不确定是否有 Android 方法可以做到这一点,或者这是否只是一个一般的 Java 问题。特征检测机制的最佳设计是什么?我希望能够询问运行时环境是否支持功能 foo(这也可能在编译时确定,所以不仅仅是运行时的东西)。
更新
我正在考虑使用以下(天真?)方法:
public enum Feautures {
GPS, DockToKeyboard;
public boolean isSupported() {
//switch statement
}
}
最佳答案
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(new Intent(
RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
if (activities.size()>0); // then you have SPEECH RECOGNIZER.
或
final LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER)); // then you have GPS.
关于java - 特征检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985380/