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
<?xmlversion="1.0"encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.comunidad.codificada" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4" /> <uses-permission android:name="android.permission.VIBRATE"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".VibracionActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Vibración Simple
Para crear vibraciones simples, lo hacemos con el metodo vibrate(), de la siguiente forma:
Código java:
Ver original
Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE); 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
Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE); long [] patron = {0, 500, 300, 1000, 500}; v.vibrate(patron,3); Esta es la Actividad: package com.comunidad.codificada; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Vibrator; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class VibracionActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b_tressegundos.setOnClickListener(new OnClickListener() { @Override // TODO Auto-generated method stub Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE); v.vibrate(3000); } }); b_patron.setOnClickListener(new OnClickListener() { @Override // TODO Auto-generated method stub Vibrator v = (Vibrator) getSystemService(VIBRATOR_SERVICE); long [] patron = {0, 500, 300, 1000, 500}; v.vibrate(patron,3); } }); b_verdocumentacion.setOnClickListener(new OnClickListener() { @Override // TODO Auto-generated method stub Intent i = new Intent("android.intent.action.VIEW", Uri.parse("http://wp.me/p1hdS4-zS")); startActivity(i); } }); } }