Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android में प्रोग्रामेटिकली फ्लैशलाइट (टॉर्च) कैसे चालू/बंद करें?

Android Camera2 API का उपयोग करके फ्लैशलाइट कंट्रोल करना

ToggleButton के साथ कैमरा फ्लैश को टॉर्च की तरह चालू/बंद करने का आधुनिक तरीका (Camera2 API)।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project।

चरण 2: लेआउट में ToggleButton

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <ToggleButton
        android:id="@+id/onOffFlashlight"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOn="Turn Off"
        android:textOff="Turn On"
        android:checked="false"
        android:text="Turn On/Off Camera LED/Flashlight" />

</LinearLayout>

चरण 3: MainActivity.java में Camera2 API लॉजिक

import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraManager;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.widget.CompoundButton;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {
    private CameraManager cameraManager;
    private String cameraId;
    private ToggleButton toggleButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // फ्लैश उपलब्धता जांचें
        boolean isFlashAvailable = getApplicationContext().getPackageManager()
                .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

        if (!isFlashAvailable) {
            showNoFlashError();
            return;
        }

        cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
        try {
            cameraId = cameraManager.getCameraIdList()[0];
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }

        toggleButton = findViewById(R.id.onOffFlashlight);
        toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                switchFlashLight(isChecked);
            }
        });
    }

    private void showNoFlashError() {
        new AlertDialog.Builder(this)
                .setTitle("Oops!")
                .setMessage("Flash not available on this device")
                .setPositiveButton("OK", (dialog, which) -> finish())
                .show();
    }

    private void switchFlashLight(boolean status) {
        try {
            cameraManager.setTorchMode(cameraId, status);
        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }
}

चरण 4: AndroidManifest.xml में परमिशन और फीचर

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera.flash" />

    <application ...>
        <activity android:name=".MainActivity">...</activity>
    </application>
</manifest>
नोट: Camera2 API Android 5.0 (API 21) से उपलब्ध है। पुराने डिवाइस के लिए legacy Camera API का उपयोग करें।

ऐप चलाएं

ToggleButton दबाकर फ्लैशलाइट चालू/बंद करें।

Android में प्रोग्रामेटिकली फ्लैशलाइट (टॉर्च) कैसे चालू/बंद करें?
  1. Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें? Android में ScrollView को प्रोग्रामेटिकली कैसे डिसेबल करें?

    परिचय यह उदाहरण दर्शाता है कि Android में ScrollView को प्रोग्रामेटिक रूप से कैसे डिसेबल किया जाए। हम OnTouchListener का उपयोग करके टच इवेंट को इंटरसेप्ट करेंगे। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project के माध्यम से नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML में ScrollView res/l

  1. Android ऐप को प्रोग्रामेटिकली कैसे बंद करें? Android ऐप को प्रोग्रामेटिकली कैसे बंद करें?

    यह उदाहरण दर्शाता है कि Android ऐप को बटन क्लिक पर प्रोग्रामेटिकली कैसे बंद किया जाता है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:android=https://schemas

  1. एंड्रॉइड पर कैमरा फ्लैश चालू/बंद करें: त्वरित और आसान चरण एंड्रॉइड पर कैमरा फ्लैश चालू/बंद करें: त्वरित और आसान चरण

    लगभग हर एंड्रॉइड स्मार्टफोन एक फ्लैश के साथ आता है जो कैमरे को बेहतर तस्वीरें लेने में सहायता करता है। फ्लैश का उद्देश्य अतिरिक्त प्रकाश प्रदान करना है ताकि यह सुनिश्चित हो सके कि तस्वीर उज्ज्वल और दृश्यमान है। यह तब बहुत उपयोगी होता है जब प्राकृतिक रोशनी पर्याप्त नहीं होती, या आप रात में बाहरी तस्व