Το Android 10 εισάγει μια σημαία Manifest για προγραμματιστές εφαρμογών που όταν είναι ενεργοποιημένη, επιτρέπει στον χρήστη να διατηρεί τα δεδομένα της εφαρμογής κατά την απεγκατάσταση της εφαρμογής. Διαβάστε για περισσότερα!
Android 10 είναι η πιο πρόσφατη ενημέρωση για το Android από την Google, φέρνοντας μαζί ένα λίγες βελτιώσεις στο ώριμο λειτουργικό σύστημα. Οι περισσότερες αλλαγές και οι νέες δυνατότητες στην πιο πρόσφατη ενημέρωση είτε λαμβάνουν επισημαίνεται από την ίδια την Google κατά τη διάρκεια του Google I/O ή είναι βρέθηκε σύντομα μετά έκδοση δημόσιας πηγής. Αλλά μερικές αξιοσημείωτες αλλαγές τείνουν να γλιστρούν κάτω από το ραντάρ, βγαίνουν στην επιφάνεια μήνες αργότερα, όταν κάποιος τις πέσει κατά λάθος. Αυτό συμβαίνει σε αυτήν την περίπτωση, επειδή όπως αποδεικνύεται, το Android 10 επιτρέπει στους προγραμματιστές να ρωτούν τους χρήστες τους εάν θέλουν να διατηρήσουν τα δεδομένα της εφαρμογής προτού απεγκατασταθεί η εφαρμογή τους.
Πρόσφατο αναφορά από AndroidPolice επισήμανε αυτή τη λειτουργία. Εφαρμογές όπως
WhatsApp και Συσκευή εγγραφής φωνής ASR έχουν αρχίσει να προσφέρουν στους χρήστες του Android 10 μια επιλογή να διατηρούν τα δεδομένα μιας εφαρμογής που πρόκειται να απεγκατασταθεί.Η επιλογή του πλαισίου που εμφανίζεται παραπάνω διατηρεί τα δεδομένα της εφαρμογής στο τηλέφωνο παρά την απεγκατάσταση της εφαρμογής. Όταν επανεγκαταστήσετε την εφαρμογή, θα επιστρέψετε στην ίδια κατάσταση εντός της εφαρμογής σαν να μην την είχατε απεγκαταστήσει ποτέ από την αρχή.
Ο Mishaal έκανε μια μικρή έρευνα για το τι συμβαίνει στα παρασκήνια. Για να το κατανοήσετε αυτό, πρέπει πρώτα να κατανοήσετε πώς οι εφαρμογές στο Android μπορούν να αποθηκεύουν αρχεία στη συσκευή σας και υπάρχουν τρεις κύριες τοποθεσίες για την αποθήκευση αρχείων:
- Κατάλογος για συγκεκριμένη εφαρμογή στον εσωτερικό χώρο αποθήκευσης (μη προσβάσιμος από το χρήστη χωρίς root): Αυτοί οι φάκελοι βρίσκονται στο /data/data και δεν είναι προσβάσιμα σε άλλες εφαρμογές ή όταν ο χρήστης συνήθως συνδέει το τηλέφωνό του σε υπολογιστή. Οι εφαρμογές δεν χρειάζονται άδεια για να γράφουν αρχεία στον δικό τους κατάλογο για συγκεκριμένη εφαρμογή σε αυτήν την τοποθεσία.
- Κατάλογος για συγκεκριμένη εφαρμογή στον εξωτερικό χώρο αποθήκευσης (προσβάσιμος από το χρήστη): Αυτοί οι φάκελοι βρίσκονται στο /data/media/{user}/Android/data και είναι προσβάσιμες σε άλλες εφαρμογές με τη σωστή άδεια και στον χρήστη όταν συνήθως συνδέει το τηλέφωνό του σε έναν υπολογιστή. Οι εφαρμογές δεν χρειάζονται άδεια για να γράφουν αρχεία στον δικό τους κατάλογο για συγκεκριμένη εφαρμογή σε αυτήν την τοποθεσία, αλλά χρειάζονται άδεια για πρόσβαση σε δεδομένα από άλλες εφαρμογές, όπως αναφέρθηκε προηγουμένως.
- Οποιοσδήποτε κατάλογος στον εξωτερικό χώρο αποθήκευσης (προσβάσιμος από τον χρήστη): Οι εφαρμογές μπορούν να ζητήσουν άδεια πρόσβασης στον εξωτερικό χώρο αποθήκευσης, επιτρέποντας στην εφαρμογή να δημιουργήσει ό, τι φάκελο χρειάζεται στον εξωτερικό χώρο αποθήκευσης για να αποθηκεύσει ό, τι θέλει να αποθηκεύσει εδώ.
Επεκτείνοντας το παράδειγμα του WhatsApp, ο κατάλογος για συγκεκριμένες εφαρμογές του WhatsApp στον εσωτερικό χώρο αποθήκευσης βρίσκεται στο /data/data/com.whatsapp; Ο κατάλογος του για συγκεκριμένη εφαρμογή στον εξωτερικό χώρο αποθήκευσης βρίσκεται στο /data/media/{user}/Android/data/com.whatsapp; και ο προσαρμοσμένος κατάλογος του στον εξωτερικό χώρο αποθήκευσης βρίσκεται στο /data/media/{user}/WhatsApp.
Πριν από το Android 10 και προτού οι προγραμματιστές ενεργοποιήσουν αυτό για τις εφαρμογές τους, όταν ένας χρήστης απεγκαθιστά μια εφαρμογή, τους καταλόγους της για συγκεκριμένη εφαρμογή και στους δύο εσωτερικούς (/data/data) και εξωτερικό (/data/media) ο χώρος αποθήκευσης διαγράφεται από προεπιλογή. Οι επιπλέον κατάλογοι στον εξωτερικό χώρο αποθήκευσης δεν διαγράφονται και πρέπει να τους αφαιρέσετε με μη αυτόματο τρόπο ή να χρησιμοποιήσετε μια εφαρμογή όπως Υπηρέτρια SD να το κάνω για σένα.
Με το Android 10, οι προγραμματιστές εφαρμογών μπορούν να προσθέσουν μια ειδική σημαία στο Manifest τους που ονομάζεται "έχει FragileUserDataΑυτό τους επιτρέπει να ρωτήσουν τον χρήστη εάν θέλει να διατηρήσει τα δεδομένα της εφαρμογής κατά την απεγκατάσταση της εφαρμογής, κάτι που βλέπετε παραπάνω στο στιγμιότυπο οθόνης. Όταν κάνετε απεγκατάσταση μιας εφαρμογής με το πλαίσιο ελέγχου εναλλαγής για τη διατήρηση των δεδομένων της εφαρμογής, το Android θα διατηρήσει και δεν θα διαγράψει τους καταλόγους για συγκεκριμένες εφαρμογές στον εσωτερικό και εξωτερικό χώρο αποθήκευσης. Το επιβεβαιώσαμε ελέγχοντας τους καταλόγους για εφαρμογές που δεν έχουν προσθέσει τη σημαία Manifest και εκείνες όπως το WhatsApp που έχουν προσθέσει τη σημαία Manifest.
Επιφανειακά, η επιλογή έχει νόημα, καθώς οι χρήστες μπορούν να απεγκαταστήσουν προσωρινά εφαρμογές και να συνεχίσουν να επιστρέφουν στις προηγούμενη κατάσταση κατά την επανεγκατάσταση, η οποία θα εξοικονομήσει κάποιες ταλαιπωρίες σχετικά με τη δημιουργία αντιγράφων ασφαλείας και την επαναφορά της εφαρμογής στην ίδια συσκευή. Αλλά, να έχετε κατά νου ότι /data/data δεν είναι προσβάσιμο χωρίς root, επομένως εσείς ως χρήστης δεν μπορείτε να χρησιμοποιήσετε αυτήν τη διαδικασία για δημιουργία αντιγράφων ασφαλείας και επαναφορά χωρίς root σε όλες τις συσκευές. Δεν είναι επίσης δυνατό για τους χρήστες να διαγράψουν τα αρχεία που έχουν μείνει πίσω /data/data χωρίς ρίζα? Επομένως, εάν θέλετε να διαγράψετε τα αρχεία στο μέλλον, θα πρέπει να εγκαταστήσετε ξανά την εφαρμογή και, στη συνέχεια, να την απεγκαταστήσετε χωρίς να επιλέξετε το πλαίσιο ελέγχου. Χρησιμοποιήστε αυτήν την επιλογή για πάρα πολλές εφαρμογές και πιθανότατα θα ξεχάσετε ποιες εφαρμογές είχατε επιλέξει εσείς ως χρήστης. Δεδομένου ότι αυτό είναι προαιρετικό για τους προγραμματιστές να το συμπεριλάβουν και, στη συνέχεια, προαιρετικό για τους χρήστες, πιστεύουμε ότι αυτή είναι μια συνολική θετική αλλαγή που δίνει περισσότερη δύναμη στον τελικό χρήστη.