Bienvenue dans le forum Android Astuce !

SUJET : Explication d'un extraits de code

Explication d'un extraits de code il y a 4 ans 11 mois #9

Lequel des extraits de code ci-dessous est la bonne façon de vérifier si un capteur Compass est présent sur le système? Expliquez votre réponse.
PackageManager m = getPackageManager();
if (!m.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {
// This device does not have a compass, turn off the compass feature
}

SensorManager m = getSensorManager();
if (!m.hasSystemFeature(SensorManager.FEATURE_SENSOR_COMPASS)) {
// This device does not have a compass, turn off the compass feature
}
Sensor s = getSensor();
if (!s.hasSystemFeature(Sensor.FEATURE_SENSOR_COMPASS)) {
// This device does not have a compass, turn off the compass feature
}

Explication d'un extraits de code il y a 4 ans 11 mois #10

La bonne réponse est Answer 1, la version qui utilise PackageManager.

SensorManager et Sensor font partie d'Android Sensor Framework et sont utilisés pour l'accès direct et l'acquisition de données brutes de capteur. Ces classes ne fournissent aucune méthode comme hasSystemFeature () qui est utilisée pour l'évaluation des capacités du système.

Android définit des IDs de fonctionnalité, sous la forme d'ENUM, pour toute fonctionnalité matérielle ou logicielle pouvant être disponible sur un appareil. Par exemple, l'ID de fonction du capteur de boussole est FEATURE_SENSOR_COMPASS.

Si votre application ne peut pas fonctionner sans qu'une fonctionnalité spécifique soit disponible sur le système, vous pouvez empêcher les utilisateurs d'installer votre application avec un élément <uses-feature> dans le fichier manifeste de votre application pour spécifier une dépendance non négociable.

Cependant, si vous souhaitez simplement désactiver des éléments spécifiques de votre application lorsqu'une fonctionnalité est manquante, vous pouvez utiliser la classe PackageManager. PackageManager est utilisé pour récupérer divers types d'informations liées aux packages d'application actuellement installés sur l'appareil.
Temps de génération de la page : 0.090 secondes