프로젝트 중에 안드로이드 진동을 구현해달라는 의뢰를 받았다.
진동 구현은 어렵지 않다.
먼저 AndroidManifest.xml에 진동 관련 퍼미션을 추가한다.
<uses-permission android:name="android.permission.VIBRATE"/>
진동엔 두가지 방법이 있는데,
vibrate매서드에 넣는 값에 따라 달라지는데
VibrationEffect.createOneShot(int milliseconds, int amplitude)는 시간과 강도를 조절할 수 있지만 API 26 이상에서만 동작한다.
(int milliseconds) 시간만 넣게 되면 강도는 조절할 수 없지만 API와 관계 없이 진동을 넣을 수 있다.
진동 예시
public class ExampleActivity extends AppCompatActivity {
private ImageView imageViewExample;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_example);
findView();
setListener();
}
private void findView() {
imageViewExample = findViewById(R.id.imageViewExample);
}
private void setListener() {
imageViewExample.setOnClickListener(view -> {
setVibrate();
});
}
private void setVibrate() {
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
vibrator.vibrate(VibrationEffect.createOneShot(100, 50));
} else {
vibrator.vibrate(100);
}
}
}
반응형
'Android > 안드로이드 스터디(JAVA)' 카테고리의 다른 글
Android Studio, Java] 구글 인앱결제 적용하기(1회성 소모결제) (0) | 2022.05.18 |
---|---|
안드로이드 스튜디오 1. 기본 프로젝트 하나씩 변경해보기 (0) | 2020.07.28 |
안드로이드 시작하기를 위한 포스팅 모음 (0) | 2020.07.28 |