Avant-propos
Lorsque WeChat était juste populaire, quand je pouvais encore être utilisé pour cela, j'ai également tenu mon téléphone au milieu de la nuit. À ce moment-là, ce que je pensais le plus, c'est que j'en compte pour secouer tant pour Shenma. Trop haut. Après beaucoup, je dois résoudre le problème des vibrations dans le projet récemment.
principe
Le principe de base de l'énergie de la fonction est d'utiliser le capteur d'accélération du téléphone mobile pour atteindre une certaine valeur lorsque l'accélération atteint une certaine valeur, telles que les vibrations du téléphone mobile et les modifications de l'interface utilisateur. Pour implémenter cette fonction ici, tout d'abord, vous devez comprendre l'utilisation du capteur Android.
Utilisation du capteur de capteur Android
Il existe une variété de capteurs dans Android. Cependant, tous les téléphones mobiles n'ont pas ces capteurs, car le capteur a besoin d'argent, donc les téléphones mobiles bon marché choisiront des capteurs couramment utilisés pour ajouter, et certains modèles à haut end ont la plupart des capteurs.
Capteur Utilisez les étapes
Les étapes d'utilisation des capteurs Android peuvent être à peu près divisées en trois étapes:
1. Obtenez l'objet de service de gestion des capteurs SensorManager.
2. Créez une classe de surveillance d'événements de capteur qui doit implémenter Android.Hardware.SensoreventListener.
3. Utilisez la méthode SensorManager.RegisterListener pour enregistrer le capteur spécifié.
Interface d'événement de capteur
Interface SensoreventListener, onSensorChanged () et onaCcurAcyChanged () de l'interface pour gérer les événements de capteur correspondants.
Interface publique SensoreventListener {/ ** * appelé Les valeurs du capteur ont changé. }. faire partie d'un événement interung et peut être réutilisé. P> Voir {@Link Android.SensorManager SensorManager} * pour plus de détails.
Implémentation des vibrations Android
L'effet de vibration Android est principalement invoqué sur le service de vibratrice.
Importation Android.App.Activité; Vibrator_Service); ?
En même temps, vous devez ajouter des autorisations de vibration à AndroidManifest.xml:
<Use-permission Android: name = "android.permission.vibrate" />
Expliquez les paramètres de la méthode vibrée:
1. De longues millisecondes: la longueur de la vibration, l'unité est des millisecondes.
2. Long [] Modèle: Mode de vibration personnalisé. La signification des nombres dans le tableau est [durée statique, durée de vibration, du temps statique, du temps de vibration, ...]. L'unité avec un temps de vibration est de millisecondes.
3. Répéter: s'il faut répéter les vibrations, 1 est répétée, -1 n'est une vibration qu'une seule fois.
Secouez la réalisation de la démo vibration
Eh bien, vous devez comprendre que vous devez utiliser le capteur d'accélération pour utiliser le capteur d'accélération. La classe MainActivity est mise en œuvre comme suit:
Importation.App. Hardware.SensoreventListener; Private Boolean IsRefresh = False; Int) {IsRefresh = false; dialogue.cancel ();}}). ") .Create ();}} @Override Protected void onResume () {sensorManager.RegisterListener (ShakeListener, SensorManager.getDefaultSor (Sensor.Type_Acceleromment), S Ensonager.Sensor_Delay_Fastst); Super.onresume ();}}} @override VODOK OnPause () {// Acivivité en arrière-plan, annulez la prison et écoutant la prison .UngisterListener (ShakeListener); OnSensorchnted (sensorevent) {// log. (IsRefresh) {return;} float []] valeurs = event.values; L'accélération de la gravité de la direction de l'axe de l'axe est en avant * / float x = math.abs (valeur [0]); [2]); > = accélérer_value || z> = accélérer_value) {toast.makeText (mainactivité. ();
Carte d'effet: