Nasıl bir Android cihaz titreşimle yapmak için?
Bir Android uygulaması yazdım. Şimdi, cihaz belirli bir eylem oluştuğunda titreşim yapmak istiyorum. Bunu nasıl yapabilirim?
CEVAP
Titreşim İzni Verin
Herhangi bir titreşim kod uygulama başlamadan önce, uygulama titreşimle izin vermek zorunda:
<uses-permission android:name="android.permission.VIBRATE"/>
Androidmanifest.xml dosyanıza bu satırı eklemeyi unutmayın.
Titreşim Kitaplığı alın
En IDE sizin için yapacak, ama burada eğer senin değilse bile alma deyimi vardır:
import android.os.Vibrator;
Titreşim oluşmasını istediğiniz yere emin faaliyeti yapmak.
Nasıl Belirli bir Süre için Titreşimle
Çoğu durumda, kısa zaman, önceden belirlenmiş bir miktar için cihaz titreşimle isteyeceksin. vibrate(long milliseconds)
yöntemi kullanarak bunu elde edebilirsiniz. Burada hızlı bir örnek:
// Get instance of Vibrator from current Context
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 400 milliseconds
v.vibrate(400);
İşte bu kadar basit!
Nasıl Süresiz Titreşimle
Cihazı titreşimli süresiz olarak devam etmek istediğiniz durumda olabilir. Bunun için, vibrate(long[] pattern, int repeat)
yöntemini kullanırız:
// Get instance of Vibrator from current Context
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Start without a delay
// Vibrate for 100 milliseconds
// Sleep for 1000 milliseconds
long[] pattern = {0, 100, 1000};
// The '0' here means to repeat indefinitely
// '0' is actually the index at which the pattern keeps repeating from (the start)
// To repeat the pattern from any other point, you could increase the index, e.g. '1'
v.vibrate(pattern, 0);
Titreşimi durdurmak için hazır olduğunuzda, sadece cancel()
yöntemi:
v.cancel();
Nasıl Titreşim Desenleri kullanmak
Eğer daha özel bir titreşim istiyorsanız, kendi titreşim desenleri oluşturmak için deneyebilirsiniz:
// Get instance of Vibrator from current Context
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Start without a delay
// Each element then alternates between vibrate, sleep, vibrate, sleep...
long[] pattern = {0, 100, 1000, 300, 200, 100, 500, 200, 100};
// The '-1' here means to vibrate once, as '-1' is out of bounds in the pattern array
v.vibrate(pattern, -1);
Daha Karmaşık Titreşimler
Dokunsal geri bildirim daha geniş bir yelpazesi sunuyoruz, birden fazla SDK vardır. Özel efektler için kullandığım bir Immersion's Haptic Development Platform for Android.
Sorun giderme
Eğer cihazınız titreşim kazanırsa, ilk titreşimle emin olun:
// Get instance of Vibrator from current Context
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Output yes if can vibrate, no otherwise
if (v.hasVibrator()) {
Log.v("Can Vibrate", "YES");
} else {
Log.v("Can Vibrate", "NO");
}
İkinci olarak, lütfen başvurunuzu titreşimle izin verdin emin olun! İlk noktaya tekrar bakın.
Nasıl'In birincil e-posta adresin...
İlk metin ile bir Android Spinner yapm...
Nasıl Android pürüzsüz görüntü bir dön...
nasıl telefon android amacı kullanarak...
Nasıl BLE üzerinden bir iOS aygıtı (Bl...