본문 바로가기
프로그래밍/Android

AndroidManifest.xml & permission

by Mr-후 2018. 10. 5.
반응형


AndroidManifest.xml & permission




이번 포스팅에서는 안드로이드에서 사용되는 다양한 퍼미션(권한)에 대해 정리를 해보자. 


앱에 퍼미션을 설정하지 않은 상태로 해당 퍼미션이 필요한 기능을 구현하게 되면 앱은 당연히 크래시(종료)된다. 

안드로이드에서는 각종 퍼미션 정의를 AndroidManifest.xml파일에 정의한다. 



1) 진동 


<user-permission android:name="android.permission.VIBRATE" /> 


vibrate()함수를 이용해 간단한 진동을 구현하는 코드는 다음과 같다. 


 Vibrator _vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE); 

_vibrator.vibrate(1000);  //1초 


여러번 반복해서 울려야 할 때는 다음 함수를 사용 하면된다. 

vibrate(long[] pattern, int repeat); 


첫번째 매개변수 long형 배열은 홀수는 대기시간, 짝수는 진동시간이다. (참 재미있음 ^^) 

따라서 얼마나 기다렸다가 얼마동안 진동이 되도록 설정해서 원하는 진동이 되도록 만들 수 있다는 이야기가 된다. 


두번째 인자는 몇 번 반복할지 설정하는 값으로 0을 주면 cancel이 호출 될 때까지 반복하고 -1을 주면 한 번만 패턴대로 진동이 울린다. 


✶ SystemService 

시스템 레벨에서 제공되는 서비스라는 개념으로 안드로이드에서 개발자가 직접 만들고 직접 시작하는 것이 아닌 시스템에서 다양한 기능을 제공하기 위해 만들어 놓은 서비스. 

이런 시스템에서 제공되는 기능을 사용하기 위해서 별도의 시작 작업 없이 getSystemService()라는 함수로 획득하고 진동의 경우  VIBRATOR_SERVICE가 대표적이다. 또 LayoutInflator, LocationManager, TelephonyManager등의 다양한 SystemService를 제공한다. 

 

반응형