Το Android 11 κάνει τις Φωτογραφίες Google ενοχλητικές στη χρήση, αλλά μπορεί να υπάρξει μια διόρθωση

Χάρη στο Scoped Storage, το Android 11 σε ορισμένες συσκευές καθιστά λίγο άβολο τη διαγραφή εικόνων στις Φωτογραφίες Google, αλλά μπορεί να υπάρξει μια διόρθωση.

Δεν έχουμε τρόπο να γνωρίζουμε πόσες συσκευές στην αγορά διαθέτουν Android 11 από την Google δεν δημοσιεύει πλέον στατιστικές διανομής, αλλά υπάρχουν πιθανώς δεκάδες εκατομμύρια τώρα που εταιρείες όπως η Xiaomi και η Samsung είχαν χρόνο να προωθήσουν την ενημέρωση σε πολλά από τα μοντέλα τους. Εάν η συσκευή σας εκτελεί Android 11 και χρησιμοποιείτε το Google Photos, υπάρχει πιθανότητα να αντιμετωπίσετε μια μάλλον ενοχλητική αλλαγή στον τρόπο με τον οποίο η εφαρμογή χειρίζεται τη διαγραφή και την επαναφορά εικόνας. Αντί απλώς να επιλέξετε τις εικόνες και τα βίντεο που θέλετε να διαγράψετε, πατήστε το εικονίδιο του κάδου απορριμμάτων και, στη συνέχεια, πατήστε το κουμπί "μετακίνηση στον κάδο απορριμμάτων", θα πρέπει τώρα να πατήσετε ένα επιπλέον μήνυμα προτροπής για να δώσετε στις Φωτογραφίες Google άδεια να διαγράψουν ή να επαναφέρουν αρχεία.

Για όσους από εσάς τραβάτε πολλές φωτογραφίες και βίντεο, μπορεί να είναι ενοχλητικό να πρέπει να εκχωρήσετε στο Google Photos άδεια για να διαγράψετε ή να επαναφέρετε ένα αρχείο. Και όπως επισημαίνεται από AndroidPolice, το πάτημα ενός επιπλέον κουμπιού δεν είναι το μόνο πρόβλημα που ίσως χρειαστεί να αντιμετωπίσετε. Εάν χρησιμοποιείτε το Google Photos σε άλλη συσκευή και θέλετε να επεξεργαστείτε ή στον κάδο απορριμμάτων ένα αρχείο που ανεβάσατε από το τηλέφωνό σας με Android 11, η εφαρμογή μπορεί να σας ζητήσει να ελέγξετε τις "εκτός συγχρονισμού αλλαγές". Αυτό μπορεί να γίνει γρήγορα ενοχλητικό εάν το Google Photos συνεχίσει να σας ζητά να ελέγξετε τις αλλαγές που μόλις κάνατε σε άλλη πλατφόρμα.

Το επιπλέον βήμα για τη διαγραφή ή την επαναφορά ενός αρχείου δεν απαιτούνταν στο Android 10, αλλά πλέον απαιτείται στο Android 11 λόγω της επιβολής του Scoped Storage. Πριν από το Scoped Storage, η διαχείριση της πρόσβασης σε ολόκληρο τον κατάλογο εξωτερικού χώρου αποθήκευσης γινόταν από ένα μόνο άδεια, καθιστώντας σας δύσκολο να περιορίσετε ποιες εφαρμογές μπορούν να έχουν πρόσβαση στα προσωπικά σας έγγραφα, εικόνες ή Βίντεο. Με την εφαρμογή Scoped Storage, το Android περιορίζει την πρόσβαση μιας εφαρμογής σε ευαίσθητα αρχεία χωρίς τη ρητή συναίνεση του χρήστη. Μπορείτε να βρείτε περισσότερες λεπτομέρειες στο Scoped Storage σε αυτό το άρθρο ή δείτε το παρακάτω γραφικό της Google για μια περίληψη των αλλαγών.

Ενώ ήταν απασχολημένοι με τον περιορισμό της πρόσβασης στον αποθηκευτικό χώρο στο Android 11, η Google βελτίωνε επίσης τα υπάρχοντα API για να βελτιώσει την εμπειρία του χρήστη. Για παράδειγμα, οι εφαρμογές που στοχεύουν το Android 11 μπορούν να χρησιμοποιήσουν το MediaStore API για να σκουπίστε ένα αρχείο αντί να το διαγράψετε. Ωστόσο, για να μετακινήσετε ένα αρχείο στον κάδο απορριμμάτων, η εφαρμογή πρέπει να το κάνει ζητήστε από το χρήστη να του παραχωρήσει πρόσβαση εγγραφής. Επειδή οι περισσότερες από τις εικόνες και τα βίντεο που προσθέτετε στο Google Photos από το τηλέφωνό σας προέρχονται από διαφορετική εφαρμογή — όπως η εφαρμογή φωτογραφικής μηχανής στοκ — Οι φωτογραφίες πρέπει να ζητήσουν άδεια για να μπορέσουν να μετακινήσουν ένα αρχείο προς ή από το Σκουπίδια. Ωστόσο, το Google Photos δεν ζητά άδεια για τον κάδο των αρχείων εάν χρησιμοποιείτε τηλέφωνο Pixel με εγκατεστημένο το Android 11. Ωστόσο, ζητά άδεια βασικά για κάθε άλλη συσκευή που εκτελεί Android 11, συμπεριλαμβανομένων των περισσότερων συσκευών Samsung, Xiaomi, OnePlus και ASUS. Τι δίνει;

Ο λόγος είναι ότι η εφαρμογή συλλογής συστήματος δεν υπόκειται σε περιορισμούς αποθήκευσης εύρους. Αυτό σημαίνει ότι η εφαρμογή stock gallery μπορεί να ανοίξει, να επεξεργαστεί ή να διαγράψει εικόνες και βίντεο χωρίς ρητή άδεια. Το Google Photos είναι προκαθορισμένο ως η εφαρμογή συλλογής συστήματος στα τηλέφωνα Pixel, αλλά οι περισσότεροι OEM προκαθορίζουν τη δική τους εφαρμογή συλλογής. Επιπλέον, δεν υπάρχει ρύθμιση για την αλλαγή της εφαρμογής συλλογής συστήματος που βλέπει προς το χρήστη, ούτε καν στην οθόνη "προεπιλεγμένες εφαρμογές" του Android. Ωστόσο, εκεί είναι ένας κρυφός τρόπος για να αλλάξετε την εφαρμογή συλλογής συστήματος, αλλά υπάρχει ένας μεγάλο προειδοποίηση: Μόνο μια εφαρμογή συστήματος μπορεί να οριστεί ως εφαρμογή συλλογής συστήματος. Αυτό σημαίνει μόνο τα τηλέφωνα έχουν ήδη προεγκατεστημένες τις Φωτογραφίες Google ως εφαρμογή συστήματος μπορεί να εκμεταλλευτεί αυτό το κόλπο.

Δεν πληρούν πολλά τηλέφωνα αυτό το κριτήριο, αλλά με βάση τις δοκιμές μας, μπορούμε να το επιβεβαιώσουμε λειτουργεί στα περισσότερα τηλέφωνα OnePlus και ορισμένα τηλέφωνα ASUS. Αυτή η μέθοδος δεν λειτούργησε σε κανένα από τα τηλέφωνα Samsung που τη δοκιμάσαμε και επίσης δεν λειτούργησε σε ένα Xiaomi Mi 10 Pro. Εάν έχετε πρόσβαση root ή εκτελείτε μια προσαρμοσμένη ROM, αυτή η μέθοδος μπορεί να λειτουργήσει στη συσκευή σας αφού συστηματοποιήσετε την εφαρμογή Google Photos, αλλά δοκιμάσαμε αυτήν τη μέθοδο μόνο σε συσκευές στοκ.

Πώς να κάνετε (ίσως) το Google Photos την εφαρμογή γκαλερί συστήματος

Οι πιστώσεις πηγαίνουν στον Kieron Quinn (Quinny899 στα Φόρουμ XDA) για να μοιραστείτε αυτό το κόλπο!

Το πρώτο πράγμα που θα πρέπει να κάνετε είναι να εγκαταστήσετε το ADB στον υπολογιστή σας. Έχουμε έναν ενημερωμένο οδηγό για το πώς να το κάνετε αυτό εδώ. Μόλις ρυθμίσετε το ADB, πληκτρολογήστε την ακόλουθη εντολή:

adbshellcmdroleadd-role-holderandroid.app.role.SYSTEM_GALLERYcom.google.android.apps.photos

Εάν δεν βλέπετε κάποιο σφάλμα, τότε μάλλον λειτούργησε! Μπορείτε να επαληθεύσετε γρήγορα ότι λειτούργησε τραβώντας μια φωτογραφία και, στη συνέχεια, προσπαθώντας να τη διαγράψετε στις Φωτογραφίες Google. Εναλλακτικά, μπορείτε να εκτελέσετε την ακόλουθη εντολή:

adb shell dumpsys role

...και ελέγξτε αν ο "κάτοχος" του "android.app.role. SYSTEM_GALLERY" είναι "com.google.android.apps.photos" (το όνομα πακέτου του Google Photos).

Εάν η έξοδος σας ταιριάζει με το κείμενο που επισημαίνεται στο κόκκινο ορθογώνιο, τότε λειτούργησε.

Τι κάνει αυτή η εντολή;

Το Android 10 πρόσθεσε ένα νέο API που ονομάζεται "Roles". Όταν μια εφαρμογή έχει έναν συγκεκριμένο ρόλο, της εκχωρείται αυτόματα πρόσβαση σε ορισμένα δικαιώματα. Για παράδειγμα, το ρόλος SYSTEM_GALLERY εκχωρεί αυτόματα σε μια εφαρμογή "πλήρη πρόσβαση ανάγνωσης και εγγραφής σε όλα τα αρχεία εικόνας και βίντεο στον εξωτερικό χώρο αποθήκευσης, συμπεριλαμβανομένης της πρόσβασης στην τοποθεσία μεταδεδομένα." Ο ρόλος SYSTEM_GALLERY μπορεί να εκχωρηθεί μόνο σε εφαρμογές συστήματος και ο προεπιλεγμένος κάτοχός του ορίζεται από το Android τιμή διαμόρφωσης "config_systemGallery." Όπως εξηγήσαμε νωρίτερα, οι περισσότεροι OEM προκαθορίζουν αυτήν την τιμή στο όνομα του πακέτου που αντιστοιχεί στο δικό τους δική σας εφαρμογή γκαλερί. Αυτή η τιμή δεν μπορεί να αλλάξει χωρίς τροποποίηση του πλαισίου ή εγκατάσταση επικάλυψης, τα οποία απαιτούν πρόσβαση root.

Ωστόσο, αυτό είναι είναι δυνατή η προσθήκη άλλης εφαρμογής ως κάτοχος του ρόλου SYSTEM_GALLERY, αλλά μόνο εάν αυτή η εφαρμογή είναι επίσης μια εφαρμογή συστήματος. Αυτό είναι δυνατό σε πολλά τηλέφωνα OnePlus και ορισμένα τηλέφωνα ASUS, επειδή αυτοί οι OEM φαινομενικά προεγκατέστησαν το Google Photos σε επίπεδο συστήματος και όχι σε επίπεδο χρήστη. Εξαιτίας αυτού, η εφαρμογή Google Photos πληροί τις προϋποθέσεις για να κατέχει το ρόλο SYSTEM_GALLERY και επωφελούμαστε της κρυφής διεπαφής κελύφους RoleManager του Android για να του παραχωρηθεί πρόσβαση σε δικαιώματα που συνήθως δεν μπορεί να είναι χορηγείται. Εάν επιχειρήσετε να εκχωρήσετε το ρόλο SYSTEM_GALLERY σε μια εφαρμογή εκτός συστήματος, θα δείτε το ακόλουθο σφάλμα στο logcat:

ERoleControllerServiceImpl: Packagedoesnotqualifyfortherole, package: com.google.android.apps.photos, role: android.app.role.SYSTEM_GALLERY

Δυστυχώς, δεν έχουμε βρει τρόπο να παρακάμψουμε αυτόν τον περιορισμό, αλλά αν το κάνουμε, θα μοιραστούμε τη μέθοδό μας με την κοινότητα. Φυσικά, θα προτιμούσαμε η Google απλώς να καταστήσει τον ρόλο SYSTEM_GALLERY οριζόμενο από τον χρήστη αντί να περιορίζεται στην επιλογή του OEM.