📅  最后修改于: 2023-12-03 15:38:30.543000             🧑  作者: Mango
Android 提供了 Vibration API,使我们可以在设备上执行振动。我们可以使用该 API 来实现不同的振动模式。以下是在 Android 中撰写振动模式的步骤及其相关示例代码。
为了在 Android 中撰写振动模式,请参照下列步骤:
<uses-permission android:name="android.permission.VIBRATE" />
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
long[] pattern = { 500, 1000, 500 };
vibrator.vibrate(pattern, -1);
在这里,第二个参数表示是否反复执行该振动模式。如果在该位置指定了正整数,则该振动模式将在指定的时间(以毫秒为单位)后再次执行。如果为负数,则该振动模式仅执行一次。
以下是演示如何在 Android 中实现不同振动模式的示例代码:
public class MainActivity extends AppCompatActivity {
private Vibrator vibrator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取系统的震动服务
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// 模式1 - 持续振动 2 秒
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
vibrator.vibrate(2000);
}
});
// 模式2 - 振动 2 秒,然后暂停 1 秒,再重复执行该模式
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
long[] pattern = { 0, 2000, 1000, 2000 };
vibrator.vibrate(pattern, 0);
}
});
// 模式3 - 振动 500 毫秒,暂停 1000 毫秒,然后再振动 500 毫秒
findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
long[] pattern = { 500, 1000, 500 };
vibrator.vibrate(pattern, -1);
}
});
// 关闭振动
findViewById(R.id.button4).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
vibrator.cancel();
}
});
}
}
以上示例代码演示了不同的振动模式。您可以使用上述示例代码作为起点,进行下一步的操作。
注意:在某些情况下,您可能无法在 Android 设备上实现振动模式。例如,如果该设备不支持振动,或者如果该用户已经禁用了振动功能,则该代码可能无法正常工作。因此,在使用该代码之前,请确保该设备可以执行振动功能。
在本篇介绍的示例代码中,我们了解了在 Android 中实现不同振动模式的步骤。您可以使用上述示例代码作为起点,以实现自己的振动模式。