Reduce permissions and simplify CameraActivity for Huawei install compatibility

This commit is contained in:
xiajiid
2026-02-08 17:16:38 +08:00
parent 2f314beb97
commit 013eeeb548
2 changed files with 1 additions and 35 deletions

View File

@@ -8,7 +8,6 @@
<!-- 位置权限 --> <!-- 位置权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 硬件功能声明 --> <!-- 硬件功能声明 -->
<uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-feature android:name="android.hardware.camera" android:required="true" />
@@ -20,7 +19,6 @@
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.LogCam" android:theme="@style/Theme.LogCam"
android:requestLegacyExternalStorage="true"
tools:targetApi="q"> tools:targetApi="q">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"

View File

@@ -1,8 +1,8 @@
package com.example.app package com.example.app
import android.Manifest import android.Manifest
import android.annotation.SuppressLint
import android.content.ContentValues import android.content.ContentValues
import android.content.SharedPreferences
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
@@ -10,12 +10,9 @@ import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.graphics.Paint import android.graphics.Paint
import android.graphics.Typeface import android.graphics.Typeface
import android.location.Geocoder
import android.location.Location
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Looper
import android.provider.MediaStore import android.provider.MediaStore
import android.util.Log import android.util.Log
import android.widget.* import android.widget.*
@@ -28,8 +25,6 @@ import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.view.PreviewView import androidx.camera.view.PreviewView
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.google.android.material.snackbar.Snackbar
import java.io.ByteArrayOutputStream
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
import java.io.OutputStream import java.io.OutputStream
@@ -77,8 +72,6 @@ class CameraActivity : AppCompatActivity() {
// 请求权限 // 请求权限
if (allPermissionsGranted()) { if (allPermissionsGranted()) {
startCamera() startCamera()
// 初始化位置管理器
initLocationManager()
} else { } else {
ActivityCompat.requestPermissions( ActivityCompat.requestPermissions(
this, REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS this, REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS
@@ -92,31 +85,6 @@ class CameraActivity : AppCompatActivity() {
// 初始化线程池 // 初始化线程池
cameraExecutor = Executors.newSingleThreadExecutor() cameraExecutor = Executors.newSingleThreadExecutor()
} }
private fun initLocationManager() {
locationManagerHelper = LocationManagerHelper(this)
// 尝试获取最后已知位置
locationManagerHelper?.getLastKnownLocation { location ->
this.currentLocation = location
}
// 开始实时位置更新
locationManagerHelper?.requestLocationUpdates { location ->
this.currentLocation = location
}
}
@SuppressLint("MissingPermission")
private fun getCurrentLocation(): Location? {
return currentLocation
}
override fun onDestroy() {
super.onDestroy()
// 停止位置更新
locationManagerHelper?.stopLocationUpdates()
cameraExecutor.shutdown()
}
private fun allPermissionsGranted() = REQUIRED_PERMISSIONS.all { private fun allPermissionsGranted() = REQUIRED_PERMISSIONS.all {
ContextCompat.checkSelfPermission(baseContext, it) == PackageManager.PERMISSION_GRANTED ContextCompat.checkSelfPermission(baseContext, it) == PackageManager.PERMISSION_GRANTED