Πώς να ενεργοποιήσετε τη λειτουργία εμβύθισης σε όλο το σύστημα χωρίς Root

Εκμάθηση σχετικά με τον τρόπο ενεργοποίησης της λειτουργίας εμβαπτιστικής λειτουργίας σε όλο το σύστημα (ή με βάση την εφαρμογή) χωρίς να απαιτείται πρόσβαση root. Λειτουργεί σε όλες τις συσκευές Android 4.4+.

Καθώς οι οθόνες των τηλεφώνων γίνονται όλο και μεγαλύτερες, μερικές φορές θέλουμε να αποκρύψουμε τη γραμμή κατάστασης και πλοήγησης, ώστε να μπορούμε να προβάλουμε το περιεχόμενό μας χρησιμοποιώντας ολόκληρη την ευκρινή, όμορφη οθόνη HD.

Ξεκινώντας με το Android 4.4, οι εφαρμογές θα μπορούσαν να εφαρμόσουν Immersive Mode να προσφέρει πραγματικά μια εμπειρία πλήρους οθόνης σε έναν τελικό χρήστη. Δυστυχώς, η Google και οι OEM δεν έχουν ποτέ εκθέσει τη δυνατότητα των χρηστών να ελέγχουν με μη αυτόματο τρόπο πότε θέλουν να ενεργοποιήσουν τη λειτουργία εμβαπτισμού. Κάλεσε μια εφαρμογή τρίτου μέρους Λειτουργία καθηλωτικής πλήρους οθόνης GMD έχει παράσχει μια λύση εδώ και μερικά χρόνια, αλλά το μεγαλύτερο πρόβλημα με τη χρήση αυτής της εφαρμογής είναι ότι σπάει το μαλακό πληκτρολόγιο.

Οι χρήστες έχουν περιπλανηθεί γύρω από μια εντολή ADB που ενεργοποιεί μια λειτουργία εμβαπτισμού σε όλο το σύστημα για αρκετό καιρό, αλλά Για χρόνια πίστευαν ότι η χρήση αυτής της εντολής όταν αποσυνδέεται από ένα τερματικό ADB θα απαιτούσε root πρόσβαση. Ωστόσο, στα τέλη του περασμένου έτους οι χρήστες ανακάλυψαν ότι ορισμένες εντολές ADB θα μπορούσαν στην πραγματικότητα να ενεργοποιηθούν στη συσκευή 

χωρίς πρόσβαση root, με την προϋπόθεση ότι η εφαρμογή έχει συγκεκριμένη άδεια. Αυτό σημαίνει ότι μπορείτε ενεργοποιήστε τη λειτουργία εμβάπτισης σε όλο το σύστημα κατα παραγγελια. Μπορείτε, για παράδειγμα, να δημιουργήσετε ένα πλακίδιο Nougat για να αλλάξετε τη λειτουργία εμβαπτισμού ή ακόμα και να ρυθμίσετε τη λειτουργία εμβαπτισμού ανά εφαρμογή.


Εναλλαγή Λειτουργίας Εμβαπτισμού χωρίς Root

Όπως μπορείτε να δείτε στο παραπάνω βίντεο, έχω δημιουργήσει ένα πλακίδιο Nougat που εναλλάσσει τη λειτουργία Immersive όταν το πατάω. Αυτό είναι στο μη ριζωμένο Huawei Mate 9 μου, αλλά θα πρέπει να λειτουργήσει σχεδόν κάθε συσκευή Android 4.4+. Χρειάζεστε μόνο δύο εφαρμογές για να λειτουργήσει αυτό: Tasker και AutoTools Beta. Θα χρειαστεί επίσης να εγκαταστήσετε Αυτόματη ειδοποίηση αν θέλετε να φτιάξετε ένα πλακίδιο Nougat από αυτό, αλλά δεν απαιτείται.

Αφού εγκαταστήσετε και τις δύο εφαρμογές, θα πρέπει να το εκχωρήσετε WRITE_SECURE_SETTINGS άδεια στο AutoTools για να μπορείτε να αλλάξετε τη λειτουργία Immersive (ανάμεσα σε άλλες εκπληκτικές ρυθμίσεις που θα καλύψουμε αργότερα). Αυτό συμβαίνει επειδή η εντολή για τη λειτουργία εμβαπτισμού ορίζεται κάτω από το Ρυθμίσεις. Παγκόσμια κλάση, αν και η ακριβής σύνταξη για την εντολή είναι κρυμμένη στο AOSP. Θα δούμε πρώτα πώς να εκχωρήσετε την απαραίτητη άδεια στο AutoTools και μετά πώς να χρησιμοποιήσετε την εντολή στο Tasker.


Σύμφωνα με το σύστημα διαχείρισης αδειών του Android, οι εφαρμογές ορίζουν τα δικαιώματα που θέλουν να εκχωρηθούν στο αρχείο Manifest. Στη συνέχεια, οι χρήστες μπορούν να χορηγήσουν ή να αρνηθούν δικαιώματα κατά την εγκατάσταση (προ-Marshmallow) ή κατά παραγγελία (Marshmallow+). Ωστόσο, υπάρχουν ορισμένα δικαιώματα που δεν μπορούν να παραχωρηθούν οι αιτήσεις ακόμη και αν το ζητήσουν στο Μανιφέστο, όπως π.χ. WRITE_SECURE_SETTINGS. Αυτό οφείλεται στο γεγονός ότι η εκχώρηση μιας τόσο ισχυρής άδειας σε οποιαδήποτε εφαρμογή θα έδινε σε αυτήν την εφαρμογή έναν τόνο ελέγχου της συσκευής σας.

Ωστόσο, υπάρχει ένας τρόπος αντιμετώπισης που μπορούμε να χρησιμοποιήσουμε για να εκχωρήσουμε την άδεια WRITE_SECURE_SETTINGS σε οποιαδήποτε εφαρμογή θέλουμε. Με τη χρήση ADB's διαχειριστής πακέτων (μ.μ.) εργαλείο, μπορούμε να εκχωρήσουμε οποιαδήποτε άδεια σε οποιαδήποτε εφαρμογή θέλουμε (υπό την προϋπόθεση ότι η εφαρμογή ζητά αυτήν την άδεια στο αρχείο Manifest).

Το πρώτο πράγμα που θα χρειαστεί να κάνετε είναι εγκαταστήστε το δυαδικό ADB στον υπολογιστή σας ακολουθούμενο από το σωστό πρόγραμμα οδήγησης για τη συσκευή σας. Στη συνέχεια, ενεργοποιήστε τον εντοπισμό σφαλμάτων USB στις Επιλογές προγραμματιστή (μεταβείτε στις Ρυθμίσεις --> Σχετικά με το τηλέφωνο και πατήστε τον Αριθμό έκδοσης 7 φορές, εάν δεν το έχετε κάνει ήδη) και συνδέστε το τηλέφωνό σας στον υπολογιστή σας. Τέλος, στείλτε την ακόλουθη εντολή μόλις ανοίξετε ένα τερματικό:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Τώρα το AutoTools θα έχει τη δυνατότητα να αλλάξει οποιαδήποτε ρύθμιση Καθολική, Ασφαλής ή Συστήματος στη συσκευή σας. Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να παίξετε με αυτές τις ρυθμίσεις και τη λίστα των διαθέσιμων ρυθμίσεων Κάθε κατηγορία εξαρτάται πλήρως από τη συσκευή και την κατασκευή λογισμικού, αλλά αυτή η συζήτηση αφορά μια άλλη χρόνος. Σε κάθε περίπτωση, θα συνεχίσουμε να σας δείξουμε πώς να χρησιμοποιείτε τα Αυτόματα Εργαλεία για εναλλαγή της Λειτουργίας Εμβαπτισμού.


Χρήση του Tasker για εναλλαγή της εμβυθιστικής λειτουργίας μέσω πλακιδίων Nougat

Η εναλλαγή της Immersive Mode μέσω ενός πλακιδίου προφανώς απαιτεί Android Nougat, οπότε αν δεν έχετε Nougat, παραλείψτε αυτήν την ενότητα για να μάθετε πώς να το αλλάζετε ανά εφαρμογή. Εάν δεν το έχετε κάνει ήδη, κατεβάστε το AutoNotification από το Google Play Store και παραχωρήστε του Πρόσβαση στις ειδοποιήσεις. Αυτό το πρόσθετο Tasker είναι αυτό που θα χρησιμοποιήσουμε για να φτιάξουμε το δικό μας προσαρμοσμένο πλακίδιο ειδοποιήσεων.

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

Εναλλαγή λειτουργίας βυθίσματος πλακιδίων Nougat

Profile: Toggle Immersive Mode (30)
Event: AutoNotification [ Configuration: Event Behaviour
Filter: immersivemode ]
Enter: Immersive Mode (33)
A1: AutoNotification Tiles [ Configuration: Tile: 1
Command: immersivemode
Label: Immersive mode
Icon: /storage/emulated/0/Tasker/immersive.png
State: 999 Timeout (Seconds):60 ]
A2: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Διαβάστε περισσότερα

Ανοίξτε το Tasker και πατήστε το + κουμπί στην κάτω δεξιά γωνία. Δημιουργήστε ένα Εκδήλωση πλαίσιο και επιλέξτε Πρόσθετο --> Αυτόματη ειδοποίηση. Πατήστε το εικονίδιο με το μολύβι για να ανοίξετε τη σελίδα διαμόρφωσης για την Αυτόματη ειδοποίηση. Σύμφωνα με το Φίλτρο εντολών εισαγω λειτουργία εμβάπτισης. Αυτή είναι η ακριβής εντολή που θα σταλεί όταν πατήσουμε σε ένα πλακίδιο Nougat.

Τώρα δημιουργήστε μια νέα Εργασία (με οποιοδήποτε όνομα) συνδεδεμένη σε αυτό το Προφίλ και για την πρώτη Ενέργεια μεταβείτε στο Plugin --> AutoNotification --> Tiles. Για τον αριθμό πλακιδίου, επιλέξτε το 1ο πλακίδιο. Για το Εντολή εισαγω λειτουργία εμβάπτισης ακριβώς όπως γράφτηκε. ο επιγραφή είναι αυτό που θα εμφανίζεται κάτω από το πλακίδιο, γι' αυτό ονομάστε το κάτι σαν "Λειτουργία εμβάπτισης". Για το Εικόνισμα, αποθηκεύστε το εικονίδιο που επισύναψα στην αρχή αυτής της ενότητας στον εσωτερικό χώρο αποθήκευσης και χρησιμοποιήστε το. Τέλος για την κατάσταση επιλέγω Εναλλαγή Ενεργό/Ανενεργό.

Μόλις τελειώσετε, εκτελέστε το Task μία φορά (πατήστε το κουμπί αναπαραγωγής στο κάτω αριστερό μέρος της οθόνης δημιουργίας εργασιών) ώστε το πλακίδιο να συμπληρωθεί. Τώρα, μόλις επεκτείνετε τη λίστα των διαθέσιμων πλακιδίων ειδοποιήσεων, θα πρέπει να δείτε τη νέα εναλλαγή Λειτουργίας Εμβαπτισμού.


Χρήση του Tasker για εναλλαγή της εμβυθιστικής λειτουργίας σε βάση ανά εφαρμογή

Η εναλλαγή της Immersive Mode ανά εφαρμογή είναι αρκετά απλή, το μόνο που χρειάζεται να κάνουμε είναι να δημιουργήσουμε ένα πλαίσιο εφαρμογής σε Tasker που θα ενεργοποιηθεί κατά την εκκίνηση ή το κλείσιμο της εφαρμογής και όταν το κάνει είναι η Λειτουργία εμβαπτισμού εναλλαγή. Προκειμένου το Tasker να παρακολουθεί εφαρμογές, θα πρέπει να το ενεργοποιήσετε Υπηρεσία Προσβασιμότητας.

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

Λειτουργία καθηλωτικής εφαρμογής ανά εφαρμογή

Profile: Per-App Immersive Mode (192)
Application: Chrome or XDA Labs
Enter: Anon (199)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Exit: Anon (204)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Διαβάστε περισσότερα

Πρώτα θα θελήσετε να ανοίξετε το Tasker, καθώς θα δημιουργήσουμε ένα προφίλ για να ξεκινήσουμε τη λειτουργία Immersive όταν είναι ανοιχτές ορισμένες εφαρμογές. Ανοίξτε το Tasker και πατήστε το + κουμπί στην κάτω δεξιά γωνία για να δημιουργήσετε ένα νέο προφίλ. Για τον τύπο περιβάλλοντος, επιλέξτε Εφαρμογή και επιλέξτε όλες τις εφαρμογές στις οποίες θέλετε να είναι ενεργή η Immersive Mode.

Όταν τελειώσετε, πατήστε πίσω και το Tasker θα σας ζητήσει να δημιουργήσετε μια Εργασία. Δεν χρειάζεται να ονομάσετε την εργασία, επομένως απλώς πατήστε το σημάδι επιλογής για να ξεκινήσετε τη δημιουργία Εργασίας. Μόλις μπείτε στην οθόνη δημιουργίας εργασιών, υπάρχει μόνο μία ενέργεια που πρέπει να προσθέσετε. Πάτα το + κουμπί στο κάτω μέρος και μεταβείτε στο Πρόσθετο --> Αυτόματα εργαλεία --> Ασφαλής ρύθμιση. Πατήστε το εικονίδιο με το μολύβι για να διαμορφώσετε τα AutoTools. Εδώ, πηγαίνετε στο Απεικόνιση μετά πατήστε Immersive Mode και επιλέξτε "Μεταβάλλω."

Υπάρχει ένα τελευταίο πράγμα που πρέπει να κάνουμε, και αυτό είναι να απενεργοποιήσουμε τη λειτουργία Immersive όταν βγαίνετε από την εφαρμογή. Επιστρέψτε στην κύρια οθόνη του Tasker και παρατεταμένο πάτημα στην Εργασία που μόλις δημιουργήσατε, ώστε να μπορείτε να δημιουργήσετε ένα Έξοδος από την εργασία. Όταν δημιουργείτε μια εργασία εξόδου, απλώς προσθέστε την ίδια ενέργεια που προσθέσατε στην πρώτη εργασία - αυτό θα αλλάξει τη λειτουργία εμβαπτισμού.


Βελτιωμένη λειτουργία εμβαπτιστικής ρύθμισης

Όπως ανέφερα προηγουμένως, οι ακριβείς εντολές που είναι διαθέσιμες για τον εξαναγκασμό της λειτουργίας Immersive Mode μπορούν να είναι σταχυολογήθηκε από την AOSP. Μπορείτε να ρυθμίσετε τη λειτουργία Immersive Mode ώστε να αποκρύπτει μόνο τη γραμμή ειδοποιήσεων ή να αποκρύπτει μόνο τη γραμμή πλοήγησης, εκδίδοντας μία από τις ακόλουθες εντολές:

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Φυσικά, το AutoTools δεν σας επιτρέπει να στέλνετε απευθείας εντολές φλοιού όπως αυτή, αλλά αντ' αυτού θα στείλετε την εντολή χρησιμοποιώντας τη διεπαφή του. Απλώς επιλέξτε "Προσαρμοσμένη ρύθμιση" στις Ρυθμίσεις AutoTools Secure, ορίστε τον τύπο ρύθμισης σε "καθολικό", ορίστε τον "Τύπος εισόδου" σε "String" και για το όνομα πρέπει να εισαγάγετε "policy_control immersive.status=*" ή "policy_control immersive.navigation=*". Μπορείτε να χρησιμοποιήσετε αυτήν την εντολή στη θέση αυτής που χρησιμοποιήσαμε για το στοιχείο ελέγχου Nougat Tile ή ανά εφαρμογή, εάν προτιμάτε τη λειτουργία Immersive να κρύβετε μία από τη γραμμή κατάστασης ή τη γραμμή πλοήγησης.


Λήψη και εισαγωγή στο Tasker

Όπως πάντα, παρέχουμε το αρχείο XML του σεναρίου που μπορείτε να κάνετε λήψη και εισαγωγή. Απλώς κατεβάστε το αρχείο από τον παρακάτω σύνδεσμο και αποθηκεύστε το οπουδήποτε στον εσωτερικό σας χώρο αποθήκευσης. Ανοίξτε το Tasker και απενεργοποιήστε τη Λειτουργία αρχαρίου στις Προτιμήσεις. Στη συνέχεια, επιστρέψτε στην κύρια οθόνη και πατήστε παρατεταμένα την καρτέλα "Προφίλ" επάνω στην κορυφή. Θα πρέπει να δείτε ένα αναδυόμενο παράθυρο με μία από τις επιλογές "Εισαγωγή". Πατήστε σε αυτό και περιηγηθείτε στο σημείο όπου αποθηκεύσατε το αρχείο .prf.xml και επιλέξτε αυτό το αρχείο για εισαγωγή.

Εάν επιλέξετε να εισαγάγετε το Πλακίδιο ειδοποίησης, βεβαιωθείτε ότι έχετε αποθηκεύσει το εικονίδιο Λειτουργίας εμβαπτισμού ως immersive.png και αποθηκεύστε το στο /sdcard/Tasker. Εάν επιλέξετε να εισαγάγετε το προφίλ ανά εφαρμογή, τότε βεβαιωθείτε ότι έχετε μπει και προσαρμόσετε τις εφαρμογές που θα ενεργοποιεί, καθώς το δείγμα μου έχει ρυθμιστεί να ενεργοποιείται μόνο όταν χρησιμοποιείτε Chrome ή XDA Labs.

Λήψη του Notification Tile Immersive Mode Toggle

Πραγματοποιήστε λήψη του προφίλ εναλλαγής καθηλωτικής λειτουργίας ανά εφαρμογή

Ελπίζουμε να σας φανεί χρήσιμη αυτή η συμβουλή. Ενημερώστε μας στα σχόλια παρακάτω εάν αυτό λειτουργεί για εσάς!