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_COARSE_LOCATION" />
<!-- 硬件功能声明 -->
<uses-feature android:name="android.hardware.camera" android:required="true" />
@@ -20,7 +19,6 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.LogCam"
android:requestLegacyExternalStorage="true"
tools:targetApi="q">
<activity
android:name=".MainActivity"

View File

@@ -1,8 +1,8 @@
package com.example.app
import android.Manifest
import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.SharedPreferences
import android.content.pm.PackageManager
import android.graphics.Bitmap
import android.graphics.BitmapFactory
@@ -10,12 +10,9 @@ import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Paint
import android.graphics.Typeface
import android.location.Geocoder
import android.location.Location
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Looper
import android.provider.MediaStore
import android.util.Log
import android.widget.*
@@ -28,8 +25,6 @@ import androidx.camera.lifecycle.ProcessCameraProvider
import androidx.camera.view.PreviewView
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import com.google.android.material.snackbar.Snackbar
import java.io.ByteArrayOutputStream
import java.io.File
import java.io.IOException
import java.io.OutputStream
@@ -77,8 +72,6 @@ class CameraActivity : AppCompatActivity() {
// 请求权限
if (allPermissionsGranted()) {
startCamera()
// 初始化位置管理器
initLocationManager()
} else {
ActivityCompat.requestPermissions(
this, REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS
@@ -92,31 +85,6 @@ class CameraActivity : AppCompatActivity() {
// 初始化线程池
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 {
ContextCompat.checkSelfPermission(baseContext, it) == PackageManager.PERMISSION_GRANTED