Το Android 14 θα σας επιτρέψει να περιορίσετε τις δυνατότητες πρόσβασης των εφαρμογών φωτογραφιών ακόμα κι αν δεν χρησιμοποιούν το Photo Picker

click fraud protection

Το Photo Picker ήταν ένα προαιρετικό API για εφαρμογές που ήθελαν να έχουν πρόσβαση στη συλλογή σας στο Android 13, αλλά γίνεται κάπως υποχρεωτικό στο Android 14.

Ένα από τα κύρια χαρακτηριστικά του Android 13 είναι το Photo Picker, ένα νέο στοιχείο συστήματος που επιτρέπει στους χρήστες να επιλέγουν ποιες φωτογραφίες και βίντεο θα δώσουν πρόσβαση σε μια εφαρμογή. Οι εφαρμογές δεν χρειάζεται να ζητούν δικαιώματα για να αποκτήσουν πρόσβαση σε στοιχεία που επιλέγει ο χρήστης μέσω του Επιλογέα φωτογραφιών, καθιστώντας το έναν τρόπο διατήρησης του απορρήτου για κοινή χρήση φωτογραφιών και βίντεο με εφαρμογές. Το εργαλείο επιλογής αρχείων συστήματος που υπάρχει από το Android 4.4 προσφέρει περισσότερη λειτουργικότητα από το Photo Picker, αλλά η διεπαφή χρήστη του είναι χρονολογημένη σε σύγκριση.

Το πρόγραμμα επιλογής φωτογραφιών (και το εργαλείο επιλογής αρχείων συστήματος πριν από αυτό) προστατεύει το απόρρητό σας, επιτρέποντάς σας να περιορίσετε τις φωτογραφίες και τα βίντεο στα οποία έχει πρόσβαση μια εφαρμογή. Δυστυχώς, πολλές εφαρμογές δεν υποστηρίζουν το Photo Picker, παρόλο που μια συμβατή έκδοση του είναι διαθέσιμη για Android 4.4+. Οι εφαρμογές πρέπει να επικαλούνται ειδικά το Photo Picker χρησιμοποιώντας μια πρόθεση, αλλά πολλές εφαρμογές επιλέγουν να μην το χρησιμοποιήσουν για τον έναν ή τον άλλο λόγο. Ευτυχώς, αυτό μπορεί να μην έχει πλέον σημασία

Android 14, το οποίο δοκιμάζει έναν τρόπο για τους χρήστες να επιλέγουν ποιες εφαρμογές φωτογραφιών και βίντεο μπορούν να έχουν πρόσβαση μέσω του Επιλογέα φωτογραφιών, ανεξάρτητα από το αν αυτές οι εφαρμογές χρησιμοποιούν όντως το API.

Πολλές εφαρμογές έχουν πρόσβαση σε αρχεία πολυμέσων μέσω του API αποθήκευσης πολυμέσων. Το σύστημα ευρετηριάζει τα αρχεία με βάση τον τύπο τους, που ονομάζονται συλλογές καταστημάτων πολυμέσων, και διατηρεί μια βάση δεδομένων στην οποία οι εφαρμογές μπορούν να υποβάλουν ερωτήματα χρησιμοποιώντας το API αποθήκευσης πολυμέσων. Οι εφαρμογές που χρησιμοποιούν το API του καταστήματος πολυμέσων δεν χρειάζεται να ζητούν άδεια ανάγνωσης ή τροποποίησης αρχείων που τους ανήκουν, αλλά πρέπει να τους εκχωρηθεί άδεια από τον χρήστη για πρόσβαση σε αρχεία που ανήκουν σε άλλες εφαρμογές.

Ξεκινώντας από το Android 10, οι εφαρμογές που στοχεύουν το επίπεδο API 29 ή υψηλότερο έπρεπε να εκχωρηθούν READ_EXTERNAL_STORAGE άδεια από τον χρήστη προτού μπορέσει να χρησιμοποιήσει το API αποθήκευσης πολυμέσων για πρόσβαση σε αρχεία ανήκει σε άλλες εφαρμογές. Στο Android 13, η άδεια READ_EXTERNAL_STORAGE χωρίστηκε σε τρία διαφορετικά δικαιώματα (READ_MEDIA_AUDIO, READ_MEDIA_VIDEO και READ_MEDIA_IMAGES) που καθεμία χορηγεί σε μια εφαρμογή που στοχεύει το επίπεδο API 33 τη δυνατότητα να χρησιμοποιεί το API αποθήκευσης πολυμέσων για πρόσβαση σε αρχεία ήχου, βίντεο και εικόνας αντίστοιχα που ανήκουν σε άλλους εφαρμογές.

Το Android 14 αλλάζει ξανά τα δικαιώματα πρόσβασης στα μέσα συνδυάζοντας τα READ_MEDIA_VIDEO, READ_MEDIA_IMAGES και ACCESS_MEDIA_LOCATION σε μια νέα άδεια που ονομάζεται READ_MEDIA_VISUAL_USER_SELECTED. Αυτή η άδεια επιτρέπει σε μια εφαρμογή που στοχεύει το επίπεδο API 34 να «διαβάζει αρχεία εικόνων και βίντεο επιλεγμένων από τον χρήστη από κοινόχρηστο χώρο αποθήκευσης», σύμφωνα με την περιγραφή της. Ωστόσο, το Android 14 μπορεί να εφαρμόσει αναδρομικά αυτήν τη νέα συμπεριφορά σε υπάρχουσες εφαρμογές που στοχεύουν το επίπεδο API 33 (δηλ. Android 13) και ζητήστε READ_MEDIA_VIDEO ή READ_MEDIA_IMAGES.

Όταν μια εφαρμογή που στοχεύει το επίπεδο API 33 ενεργοποιεί το παράθυρο διαλόγου άδειας χρόνου εκτέλεσης για να ζητήσει από τον χρήστη να του χορηγήσει READ_MEDIA_VIDEO ή READ_MEDIA_IMAGES (ή και τα δύο), το Android 14 μπορεί να εισαγάγει μια νέα καταχώρηση στο παράθυρο διαλόγου άδειας που λέει "Επιλογή φωτογραφιών". Πατώντας αυτήν την καταχώριση θα ξεκινήσει μια νέα έκδοση του Photo Picker που επιτρέπει στον χρήστη να επιλέξει ποιες φωτογραφίες ή βίντεο θέλει να παραχωρήσει πρόσβαση στην εφαρμογή προς την. Η εφαρμογή στη συνέχεια έχει πρόσβαση μόνο σε εκείνα τα στοιχεία πολυμέσων που ο χρήστης επέλεξε ειδικά, εκτός εάν ο χρήστης επιλέξει να επεκτείνετε την πρόσβαση σε πρόσθετα στοιχεία πολυμέσων ή παραχωρήστε στην εφαρμογή πρόσβαση σε ολόκληρες τις συλλογές του καταστήματος πολυμέσων για εικόνες και Βίντεο.

Αυτή η καταχώρηση στο παράθυρο διαλόγου άδειας δεν εμφανίζεται από προεπιλογή στο Android 14 DP1, καθώς η ορατότητά της περιορίζεται από μια σημαία προγραμματιστή που έπρεπε να αλλάξω. Ωστόσο, εάν αυτή η δυνατότητα κυκλοφορήσει, θα είναι μια σημαντική νίκη για το απόρρητο, καθώς σημαίνει ότι οι χρήστες θα έχουν πάντα τη δυνατότητα να αποφασίζουν σε ποιες φωτογραφίες ή βίντεο θα πρέπει να έχει πρόσβαση μια εφαρμογή.

Πολύ λίγες εφαρμογές χρησιμοποιούν το Photo Picker API ως έχει, ωθώντας την Google να πειραματιστεί υποκλοπή μιας υπάρχουσας πρόθεσης που χρησιμοποιούν οι εφαρμογές για την εκκίνηση του εργαλείου επιλογής αρχείων συστήματος, έτσι ώστε να εκκινήσουν το Επιλογέα φωτογραφιών. Ενώ το Photo Picker έχει ορισμένα ελαττώματα, όπως το να μην εμφανίζει ακόμα αρχεία από παρόχους πολυμέσων cloud (ίσως σύντομα να επέκταση SDK έκδοση 5!) και εμφανίζει μόνο ορισμένα άλμπουμ στη συσκευή, είναι καλύτερο από τον παλιό επιλογέα αρχείων συστήματος και είναι σίγουρα προτιμότερο από κάθε εφαρμογή που έχει πρόσβαση σε κάθε φωτογραφία και βίντεο στη συλλογή.

Οι προγραμματιστές που ενδιαφέρονται να εφαρμόσουν το Photo Picker API θα πρέπει να αναβαθμίσουν στην πιο πρόσφατη έκδοση του τη βιβλιοθήκη Jetpack Activity, το οποίο χειρίζεται την κλήση της συμβατής έκδοσης που παρέχεται μέσω των Υπηρεσιών Google Play στο Android 4.4-Android 10 ή της έκδοσης που παρέχεται από το πλαίσιο που παρέχεται μέσω τη λειτουργική μονάδα MediaProvider Mainline.