Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2011, 22:36
4ng3r
Invitado
 
Mensajes: n/a
Puntos:
[Aporte] Android: Vibraciones en Nuestras APP’s

Saludos Amigos !! hoy les traigo un articulo de como crear hacer vibrar el celular por medio de algún evento en Android. Lo único que debemos tener en cuenta es la clase Vibrator. Al fina del articulo podrán descargar el código fuente y recuerden estoy trabajando en un versión vieja de Android, por experiencia podría decir que funcionaria en cualquier versión pero debemos tener en cuenta esto.

Añadir Permisos de Vibración

Antes de empezar a utlizar este servicio, debemos pedir permiso al usuario que vamo a utilizar esta funcionalidad. En el AndroidManifest lo especificamos de la siguiente manera:

Código XML:
Ver original
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.    package="com.comunidad.codificada"
  4.    android:versionCode="1"
  5.    android:versionName="1.0" >
  6.  
  7.     <uses-sdk android:minSdkVersion="4" />
  8.     <uses-permission android:name="android.permission.VIBRATE"/>
  9.     <application
  10.        android:icon="@drawable/ic_launcher"
  11.        android:label="@string/app_name" >
  12.         <activity
  13.            android:label="@string/app_name"
  14.            android:name=".VibracionActivity" >
  15.             <intent-filter >
  16.                 <action android:name="android.intent.action.MAIN" />
  17.  
  18.                 <category android:name="android.intent.category.LAUNCHER" />
  19.             </intent-filter>
  20.         </activity>
  21.     </application>
  22.  
  23. </manifest>

Vibración Simple

Para crear vibraciones simples, lo hacemos con el metodo vibrate(), de la siguiente forma:

Código java:
Ver original
  1. Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE);
  2. v.vibrate(3000);

Vibraciones con Patrón

Para crear patrones, podemos utilizar el mismo método anterior y como parámetro le enviamos un arreglo de tipo long Este patrón iniciará automáticamente y vibrará durante medio segundo, parará durante 300 milisegundos, volverá a vibrar durante un segundo y parará durante medio segundo y se detendrá o volverá a empezar dependiendo del valor de repetición que es el segundo parámetro, en mi caso tres veces.

Código java:
Ver original
  1. Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE);
  2. long [] patron = {0, 500, 300, 1000, 500};
  3. v.vibrate(patron,3);
  4. Esta es la Actividad:
  5. package com.comunidad.codificada;
  6.  
  7. import android.app.Activity;
  8. import android.content.Intent;
  9. import android.net.Uri;
  10. import android.os.Bundle;
  11. import android.os.Vibrator;
  12. import android.view.View;
  13. import android.view.View.OnClickListener;
  14. import android.widget.Button;
  15.  
  16. public class VibracionActivity extends Activity {
  17.     /** Called when the activity is first created. */
  18.     private Button b_tressegundos;
  19.     private Button b_patron;
  20.     private Button b_verdocumentacion;
  21.  
  22.     @Override
  23.     public void onCreate(Bundle savedInstanceState) {
  24.         super.onCreate(savedInstanceState);
  25.         setContentView(R.layout.main);
  26.  
  27.         b_tressegundos = (Button) this.findViewById(R.id.id_tressegundos);
  28.         b_patron = (Button)this.findViewById(R.id.id_patron);
  29.         b_verdocumentacion = (Button) this.findViewById(R.id.id_verdocumentacion);
  30.  
  31.         b_tressegundos.setOnClickListener(new OnClickListener() {
  32.  
  33.             @Override
  34.             public void onClick(View arg0) {
  35.                 // TODO Auto-generated method stub
  36.                 Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE);
  37.                 v.vibrate(3000);
  38.             }
  39.         });
  40.  
  41.         b_patron.setOnClickListener(new OnClickListener() {
  42.  
  43.             @Override
  44.             public void onClick(View arg0) {
  45.                 // TODO Auto-generated method stub
  46.                 Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE);
  47.                 long [] patron = {0, 500, 300, 1000, 500};
  48.                 v.vibrate(patron,3);
  49.             }
  50.         });
  51.  
  52.         b_verdocumentacion.setOnClickListener(new OnClickListener() {
  53.  
  54.             @Override
  55.             public void onClick(View v) {
  56.                 // TODO Auto-generated method stub
  57.                 Intent i = new Intent("android.intent.action.VIEW", Uri.parse("http://wp.me/p1hdS4-zS"));
  58.                 startActivity(i);
  59.             }
  60.         });
  61.  
  62.     }
  63. }