반응형
안드로이드 개발 Vibration 이용해서 스마트폰 진동 설정하는 방법 |
환경: Eclipse Mars, Android 4.2.2 |
스마트폰에서 진동은 벨소리와 함께 사용자에게 뭔가를 알리고 싶을 때 사용합니다. 메시지 혹은 전화를 받거나 동작을 잘못하는 경우에 주로 이용하고 있습니다. 이렇게 다양하게 쓰이는 기본적인 기능인 진동을 구현하는 방법에 대해 알아 보겠습니다.
▼ 진동을 구현하는 방법은 아주 간단합니다. 2가지만 설정하면 되는데 java 소스에서는Vibration 클래스를 이용하며, AndroidManifest.xml 파일에 진동이 가능하도록 permission 을 추가합니다. getSystemService() 함수를 사용해서 Vibrator 객체를 얻어옵니다. 그리고 vibrate() 함수를 실행하면 진동을 일으킬 수 있는데 인수로 넘어가는 숫자는 진동 시간입니다. 단위는 ms 이며, 500ms 면 0.5초가 됩니다.
Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); vibe.vibrate(500);
▼ 두 번째는 AndroidManifest.xml 에 진동이 될 수 있도록 permission 설정을 해 줍니다.
<!-- AndroidManifest.xml 등록하기 --> <uses-permission android:name="android.permission.VIBRATE" />
▼ 스마트폰에서 테스트 할 수 있도록 전체 소스와 xml 을 올렸습니다. 참고하시기 바랍니다.
VibrationActivity.java |
import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Vibrator; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import com.example.sampleandroidinfo.R; public class VibrationActivity extends Activity implements OnClickListener { private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_vibration); button = (Button) findViewById(R.id.btn_alert); // 클릭 이벤트 button.setOnClickListener(this); } public void onClick(View v) { switch (v.getId()) { case R.id.btn_alert: Vibrator vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); vibe.vibrate(500); break; default: break; } } }
activity_vibration.xml |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#3F0099" android:gravity="center" android:paddingBottom="@dimen/abc_action_bar_icon_vertical_padding" android:paddingTop="@dimen/abc_action_bar_icon_vertical_padding" android:text="Vibration 으로 진동 설정하기" android:textColor="#FFFFFF" /> <Button android:id="@+id/btn_alert" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="진동 시작" /> </LinearLayout>
반응형
'안드로이드 개발' 카테고리의 다른 글
안드로이드 개발 DB 변경 결과 이후 작업을 위한 옵져버 ContentObserver 활용하는 방법 (0) | 2018.03.24 |
---|---|
안드로이드 개발 전화번호 조회 퍼미션 에러 해결하는 방법 (0) | 2018.03.12 |
안드로이드 개발 SMS 조회 퍼미션 에러 해결하는 방법 (0) | 2018.03.07 |
안드로이드(Android) Debug 모드 상태 체크하는 방법 (0) | 2018.03.01 |
안드로이드 개발 SensorManager, SensorEventListener 이용해서 나침판 구현하기 (0) | 2018.02.12 |
안드로이드 개발 레이아웃 인플레이션(LayoutInflater)으로 추가한 화면 삭제하는 방법 (0) | 2018.01.28 |
안드로이드(Android) SensorManager 와 SensorEventListener 이용해서 x, y, z 축 감지하는 방법 (0) | 2018.01.26 |
안드로이드(Android) 다양한 애니메이션 이동(translate) 을 구현하는 여러가지 방법 (0) | 2018.01.19 |