반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 몰입캠프후기
- computergraphics
- 후기
- 우선순위큐
- 프래그먼트
- 타입스크립트
- BFS
- node.js
- 분리집합
- 안드로이드스튜디오
- 프로그래머스
- 알고리즘
- 카이스트
- 대전맛집
- html
- nodeJS
- 자바스크립트
- 자바
- DP
- 위상정렬
- 카이스트맛집
- MySQL
- 앱개발
- 백준
- 궁동
- 몰입캠프
- 컴퓨터그래픽스
- 리사이클러뷰
- 어은동맛집
- glfw
Archives
- Today
- Total
소근소근
안드로이드 스튜디오 일정시간 카메라 플래시 켜고 끄기 [AndroidStudio-JAVA] 본문
728x90
반응형
SMALL
카메라 플래시 켜고 끄기 기능 구현을 fragment에서 구현한 예시 코드이다.
import static android.content.Context.CAMERA_SERVICE;
public class frag extends Fragment {
private static CameraManager mCameraManager;
private static boolean mFlashOn = false;
private String mCameraId;
public void flashLightOn() {
mFlashOn = true;
try {
mCameraManager.setTorchMode(mCameraId, true);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
public void flashLightOff() {
mFlashOn = false;
try {
mCameraManager.setTorchMode(mCameraId, false);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
public void sleep(int time){
try{
Thread.sleep(time);
} catch (InterruptedException e){
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_frag, container, false);
mCameraManager = (CameraManager) getActivity().getSystemService(CAMERA_SERVICE);
if (mCameraId == null) {
try {
for (String id : mCameraManager.getCameraIdList()) {
CameraCharacteristics c = mCameraManager.getCameraCharacteristics(id);
Boolean flashAvailable = c.get(CameraCharacteristics.FLASH_INFO_AVAILABLE);
Integer lensFacing = c.get(CameraCharacteristics.LENS_FACING);
if (flashAvailable != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK) {
mCameraId = id;
break;
}
}
} catch (CameraAccessException e) {
mCameraId = null;
e.printStackTrace();
}
}
return v;
}
}
플래시를 켜고 끄는 함수호출은 onCreatView함수에서 해주면 된다.
버튼 클릭 이벤트로 플래시를 키고 싶다면 이 함수에서 클릭 이벤트 처리를 해주면 된다
위에 정의된 sleep 함수를 이용해서 플래시를 일정시간동안 켜지고 꺼지게 할 수 있다.
flashLightOn();
sleep(1000);
flashLightOff();
플래시가 1초동안 켜졌다가 꺼진다.
이런 기능으로 모스부호를 구현할 수 있다.
728x90
반응형
LIST
'AndroidStudio' 카테고리의 다른 글
안드로이드 스튜디오 연락처 연동 - 삭제하기 / RecyclerView에서 아이템 스와이프시 삭제하기[AndroidStudio-JAVA] (0) | 2021.07.05 |
---|---|
리사이클러뷰(RecyclerView) 스와이프(swipe)로 아이템 이동 및 삭제 구현[AndroidStudio-JAVA] (0) | 2021.07.05 |
EditText 입력 시 키보드 화면 밀림 현상 해결[AndroidStudio-JAVA] (0) | 2021.07.05 |
TabLayout , ViewPager2 , fragment로 탭 구조 구현하기 [AndroidStudio-JAVA] (0) | 2021.07.05 |
휴대폰 주소록 사진 불러오기(비트맵Bitmap, ImageView) [AndroidStudio-JAVA] (0) | 2021.07.05 |