Reduce permissions and simplify CameraActivity for Huawei install compatibility
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user