آموزش کار با فلش دوربین در برنامه نویسی اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش کار با فلش دوربین در برنامه نویسی اندروید می پردازیم به طور کلی به بررسی وجود فلش در گوشی موبایل و روشن و خاموش کردن آن را مورد بررسی قرار می دهیم در ادامه با ما همراه باشید.
برای اینکار ما می توانیم از یک متغیر boolean استفاده کنیم و مقدار برگشتی Ture یا False آن را به دست آوریم اگر True باشد یعنی گوشی فلش دارد و اگر False باشد گوشی فلش را ساپورت نمی کند.
1 | boolean hasFlash =this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); |
فقط باید دو دسترسی زیرا در AndroidManifest.xml اضافه کنیم.
1 2 | <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> |
مثال ساده از کد بالا در پایین می بینید.
1 2 3 4 5 6 7 8 | if(hasFlash) { Toast.makeText(getApplicationContext(), "Falsh is Supported !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "Falsh is not Supported !", Toast.LENGTH_SHORT).show(); } |
خب نحوه استفاده از این کد را هم فرا گرفتید.
البته می توانیم از کد زیر هم استفاده کنیم که به صورت یک void است (همان کار بالایی رو انجام میدهد ولی کمی سخت تر است )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public boolean hasFlash() { if (camera == null) { return false; } Camera.Parameters parameters = camera.getParameters(); if (parameters.getFlashMode() == null) { return false; } List<String> supportedFlashModes = parameters.getSupportedFlashModes(); if (supportedFlashModes == null || supportedFlashModes.isEmpty() || supportedFlashModes.size() == 1 && supportedFlashModes.get(0).equals(Camera.Parameters.FLASH_MODE_OFF)) { return false; } return true; } |
به هر حال از هر کدام که دوست داشتید استفاده کنید.
البته قبل از هرکاری ابتدا باید دسترسی آن را در AndroidManifest.xml تعریف کنیم.
1 2 3 | <permission android:name="android.permission.FLASHLIGHT" android:permissionGroup="android.permission-group.HARDWARE_CONTROLS" android:protectionLevel="normal"/> |
حالا برای اینکه آن را روشن کنیم می توانیم از کد زیر استفاده کنیم.
1 2 3 4 5 | Camera cam = Camera.open(); Parameters p = cam.getParameters(); p.setFlashMode(Parameters.FLASH_MODE_TORCH); cam.setParameters(p); cam.startPreview(); |
و برای خاموش کردن آن هم از کد زیر استفاده می کنیم
1 2 | cam.stopPreview(); cam.release(); |
و تمام
این آموزش هم به پایان رسید.
موفق باشید.
سلام و خسته نباشید قسمت خاموش شدن رو با html نوشتید .
نمیدونم اشتباهه یا نه ولی اگه درستهلطفا خاموش شدنشو با کد جاوا هم بگین.
ممنون از سایت خوبتون .
سلام ممنون از خبرتون بله مثل اینکه کد های html به نمایش درآمده بود اصلاح شد.
سلام! من بعد از صدا زدن تابع release() و دوباره روشن کردن فلش برنامه خطا می ده و بسته میشه! میگه نمیشه بعد از صدا زدن تابع cam.release() دیگه چراغ قوه رو روشن کرد!
به نظر تون چیکار کنم که درست بشه؟