Zagadka. Jak w naszym programie dostać się do sterowania wibratorem? Krótkie poszukiwania i znajdujemy klasę android.os.Vibrator, ale nie ma ona publicznego konstruktora, a więc utworzenie obiektu w ten sposób:
Vibrator v = new Vibrator(); |
się nie powiedzie. Aby otrzymać obiekt Vibrator, potrzebujemy użyć metody getSystemService, którą znajdziemy w klasie android.content.Context.
Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); |
Ale to nie wszystko, jeżeli nie chcemy otrzymać wyjątku na klatę, powinniśmy w pliku AndroidManifest.xml zaznaczyć, że aplikacja będzie używała wibratora. W tym celu do tego pliku dopisujemy:
<uses-permission android:name="android.permission.VIBRATE"/> |
Dla jasności cały przykładowy plik AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="kubik.game.antris" android:versionCode="1" android:versionName="1.0"> <uses-permission android:name="android.permission.VIBRATE"/> <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> <activity android:name=".Antris" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7"></uses-sdk> </manifest> |
Zrobione. Teraz już możemy wibrować:
Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); v.vibrate(500); //wibruj pół sekundy |