[英]How do I get vibration when displaying text or clicking a button?
首先,我是 Java 和整體編碼的初學者。 當顯示某個文本框或單擊選擇按鈕時,我試圖讓設備振動。 然而,即使我嘗試了其他用戶的一些建議,我也無法弄清楚如何......
如果您能逐步解釋,我將不勝感激。 先感謝您!!
import android.content.Context;
import android.view.View;
import android.widget.Button;
import android.os.Vibrator;
import java.util.Arrays;
public class Story {
Hospital1 h1;
String c1, c2, c3, c4, t;
public Story(Hospital1 h1) {
this.h1 = h1;
}
public void selectNext(String next) {
switch (next) {
// hospital 1
case "h11": hospital11(); break;
case "h12": hospital12(); break;
case "h13": hospital13(); break;
case "h14": hospital14(); break;
case "h15": hospital15(); break;
case "h16": hospital16(); break;
case "h17": hospital17(); break;
case "h18": hospital18(); break;
case "h19": hospital19(); break;
case "h1s1": hospital1select1(); break;
case "h110a": hospital110a(); break;
case "h110b": hospital110b(); break;
case "h1s2": hospital1select2(); break;
case "h111a": hospital111a(); break;
case "h111b": hospital111b(); break;
case "h112": hospital112(); break;
case "h113": hospital113(); break;
.
.
.
}
public void showButton() {
for (Button button : Arrays.asList(h1.choice1, h1.choice2, h1.choice3, h1.choice4)) {
button.setVisibility(View.VISIBLE);
}
}
public void noButton() {
for (Button button : Arrays.asList(h1.choice1, h1.choice2, h1.choice3, h1.choice4)) {
button.setVisibility(View.INVISIBLE);
}
}
public void start() {
h1.background.setImageResource(R.mipmap.hospitalbed);
h1.character.setImageResource(R.mipmap.god);
h1.character.setVisibility(View.INVISIBLE);
h1.text.setText("");
noButton();
t = "h11";
}
public void hospital11() {
h1.character.setVisibility(View.VISIBLE);
h1.character.setImageResource(R.mipmap.nurse2);
h1.text.setText("");
t = "h12";
}
public void hospital12() {
h1.character.setVisibility(View.INVISIBLE);
h1.text.setText("");
t = "h13";
}
public void hospital18() {
h1.character.setVisibility(View.INVISIBLE);
h1.text.setText("");
t = "h14";
}
public void hospital14() {
h1.character.setVisibility(View.VISIBLE);
h1.text.setText("");
t = "h15";
Vibrator vibrator = (Vibrator) h1.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(1000);
}
public void hospital15() {
h1.character.setVisibility(View.VISIBLE);
h1.text.setText("");
t = "h1s1";
}
public void hospital1select1() {
h1.character.setVisibility(View.INVISIBLE);
h1.text.setVisibility(View.INVISIBLE);
showButton();
h1.choice1.setVisibility(View.INVISIBLE);
h1.choice4.setVisibility(View.INVISIBLE);
h1.choice2.setText("");
h1.choice3.setText("");
c2 = "h16a";
c3 = "h16b";;
}
假設您的h1
是有效的 Object 的Context
, h1.getSystemService(Context.VIBRATOR_SERVICE)
沒有任何編譯錯誤。
您的設備應該能夠通過這段代碼振動:
Vibrator vibrator = (Vibrator) h1.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(1000);
但請注意,上面的內容已棄用。 實現相同目的的更新方法如下:
VibratorManager vibratorManager = (VibratorManager) h1.getSystemService(Context.VIBRATOR_MANAGER_SERVICE);
Vibrator vibrator = vibratorManager.getDefaultVibrator();
vibrator.vibrate(VibrationEffect.createOneShot(1000, VibrationEffect.DEFAULT_AMPLITUDE));
由於振動需要 Android 中的權限,因此您需要在AndroidManifest.xml中添加權限android.permission.VIBRATE
:
<manifest>
<uses-permission android:name="android.permission.VIBRATE" />
...
</manifest>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.