Код для устройств Android, который автоматически удаляет все фотографии (для личного использования)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Код для устройств Android, который автоматически удаляет все фотографии (для личного использования)

Сообщение Anonymous »

Я хочу попросить помощи в проверке кода, так как не уверен, есть ли какие-либо проблемы с приведенным ниже кодом. Также хотел спросить, удаляет ли этот код только фотографии или видео, а также загруженные медиафайлы.
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»