728x90
오늘은 플래시 라이트사용법에 대해 포스팅 하겠습니다.
Manifest
카메라 권한 추가
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication">
<uses-permission android:name="android.permission.FLASHLIGHT"/> <!-- cranberryai -->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MyApplication">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
MainActivity
public class MainActivity extends AppCompatActivity {
Button button;
String TAG = "MainActivity";
boolean on = false; // 플래시가 켜져 있는지 추적하는 플래그
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
// 카메라 권한 요청
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.CAMERA}, 1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 카메라 권한 확인
if (ActivityCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
// 디바이스가 카메라 플래시를 지원하는지 확인
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
Camera camera = null;
try {
camera = Camera.open(); // 카메라 인스턴스 획득
Camera.Parameters parameters = camera.getParameters();
if (on) {
// 플래시 끄기
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
on = false;
} else {
// 플래시 켜기
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
on = true;
}
camera.setParameters(parameters);
if (on) {
camera.startPreview(); // 플래시를 켜기 위해 필요
} else {
camera.stopPreview(); // 플래시를 끄기 위해 필요
}
} finally {
if (camera != null) {
camera.release(); // 카메라 자원 해제
}
}
}
}
}
});
}
}
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 카카오 지도에 현재 위치 표시하기 (12) | 2024.04.22 |
---|---|
[JAVA][Android] 카카오 지도 API Android v2 사용하기 (0) | 2024.04.13 |
[Android][Java] NumberPicker 넘버피커 (0) | 2024.02.19 |
[Android][Java] 사운드 재생 (2) | 2024.02.08 |
[Android][Java] 로고 애니메이션 넣어주기 (0) | 2024.02.02 |