Computer >> Máy Tính >  >> Lập trình >> Android

Làm thế nào để bật đèn pin theo chương trình trong Android bằng Kotlin?

Ví dụ này trình bày cách bật đèn pin theo chương trình trong Android bằng Kotlin.

Bước 1 - Tạo một dự án mới trong Android Studio, vào Tệp? Dự án mới và điền tất cả các chi tiết bắt buộc để tạo một dự án mới.

Bước 2 - Thêm mã sau vào res / layout / activity_main.xml

Ví dụ

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical">
<TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerHorizontal="true"
   android:layout_marginTop="50dp"
   android:text="Tutorials Point"
   android:textAlignment="center"
   android:textColor="@android:color/holo_green_dark"
   android:textSize="32sp"
   android:textStyle="bold" />
<ToggleButton
   android:id="@+id/onOffFlashlight"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerInParent="true"
   android:checked="false"
   android:text="Turn On/Off Camera LED/ Flashlight Android"
   android:textOff="Turn On"
   android:textOn="Turn Off" />
</RelativeLayout>

Bước 3 - Thêm mã sau vào src / MainActivity.kt

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.Build
import android.os.Bundle
import android.widget.ToggleButton
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
   private lateinit var cameraManager: CameraManager
   private lateinit var cameraId: String
   private lateinit var toggleButton: ToggleButton
   override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)
      title = "KotlinApp"
      val isFlashAvailable = applicationContext.packageManager
      .hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)
      if (!isFlashAvailable) {
         showNoFlashError()
      }
      cameraManager = getSystemService(Context.CAMERA_SERVICE) as CameraManager
      try {
         cameraId = cameraManager.cameraIdList[0]
      } catch (e: CameraAccessException) {
         e.printStackTrace()
      }
      toggleButton = findViewById(R.id.onOffFlashlight)
      toggleButton.setOnCheckedChangeListener { _, isChecked -> switchFlashLight(isChecked) }
   }
   private fun showNoFlashError() {
      val alert = AlertDialog.Builder(this)
      .create()
      alert.setTitle("Oops!")
      alert.setMessage("Flash not available in this device...")
      alert.setButton(DialogInterface.BUTTON_POSITIVE, "OK") { _, _ -> finish() }
      alert.show()
   }
   private fun switchFlashLight(status: Boolean) {
      try {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            cameraManager.setTorchMode(cameraId, status)
         }
      } catch (e: CameraAccessException) {
         e.printStackTrace()
      }
   }
}

Bước 4 - Thêm mã sau vào androidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
   <uses-permission android:name="android.permission.CAMERA" />
   <uses-feature android:name="android.hardware.camera.flash" />
   <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/AppTheme">
      <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>

Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Run Làm thế nào để bật đèn pin theo chương trình trong Android bằng Kotlin? từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn, sau đó kiểm tra thiết bị di động sẽ hiển thị màn hình mặc định của bạn

LƯU Ý:HÃY THỬ ĐÂY LÀ THIẾT BỊ THỰC SỰ ĐỂ CÓ KẾT QUẢ TỐT HƠN

Làm thế nào để bật đèn pin theo chương trình trong Android bằng Kotlin?

Làm thế nào để bật đèn pin theo chương trình trong Android bằng Kotlin?