Я хочу попросить помощи в проверке кода, так как не уверен, есть ли какие-либо проблемы с приведенным ниже кодом. Также хотел спросить, удаляет ли этот код только фотографии или видео, а также загруженные медиафайлы.
import android.Manifest
import android.content.ContentUris
import android.content.pm.PackageManager
import android.os.Bundle
import android.provider.MediaStore
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Request permission to access external storage
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
} else {
// If permission is already granted, start deletion
deleteAllPhotos()
}
}
// Handle the permission request result
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == 1 && grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission granted, start deletion
deleteAllPhotos()
} else {
// Permission denied, close the app or handle accordingly
finish()
}
}
// Function to delete all photos
private fun deleteAllPhotos() {
val projection = arrayOf(MediaStore.Images.Media._ID)
val cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null)
cursor?.use {
val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)
while (cursor.moveToNext()) {
val id = cursor.getLong(idColumn)
val uri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id)
contentResolver.delete(uri, null, null)
}
}
// Once deletion is done, close the app
finish()
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... rsonal-use