Nav Bar-ის პერსონალიზაცია დამალული იყო საფონდო Nougat-ში...და მას არასოდეს სჭირდებოდა Root

Android O-ის ნავიგაციის ზოლის პერსონალიზაცია რეალურად იყო დამალული Android Nougat-ში. ეს ყველამ ვიცოდით, მაგრამ თურმე არასდროს სჭირდებოდა root!

ხელების აჩვენე აქ: რამდენი თქვენგანი მართავს პირველს Android O დეველოპერის გადახედვა? Developer Preview არა მხოლოდ ხელმისაწვდომია მხოლოდ რამდენიმე Google მოწყობილობისთვის, არამედ ის ნამდვილად არ არის შესაფერისი როგორც ყოველდღიური დრაივერი. რასაკვირველია, ის არასდროს ყოფილა გამიზნული ჩვეულებრივი მომხმარებლის მიერ გამოსაყენებლად, არამედ დეველოპერებისთვის ტესტის საწოლად, რათა დარწმუნდნენ, რომ მათი აპლიკაციები იმუშავებს, როდესაც Android O ოფიციალურად გამოვა. თუმცა, ეს არ ნიშნავს იმას, რომ ჩვენ არ შეგვიძლია გავერთოთ საკუთარი თავისთვის და შევხედოთ რა არის შიგნით. ერთ-ერთი ყველაზე საინტერესო ფუნქცია Android O მოწყობილობებისთვის არის ნავიგაციის ზოლის პერსონალიზაცია მდებარეობს System UI Tuner-ში. რა მოხდება, თუ გეტყვით, რომ ეს გასაოცარი ნავიგაციის ზოლის პერსონალიზაცია არ არის ხელმისაწვდომი მხოლოდ მომხმარებლებისთვის Android O Developer Preview-ზე? მართალია, ეს ფუნქცია რეალურად უკვე მუშაობს Android 7.X Nougat-ზე და მას არც root წვდომა სჭირდება.

სახის პალმა. როცა დავწერე ჩემი გაკვეთილები ნავიგაციის ზოლის კონტექსტურ მოდიფიკაციაზე Android O-ზე მე ვივარაუდე, რომ ეს ჭურვის ბრძანებები, რომლებსაც მე ვაგზავნიდი, იმუშავებდა მხოლოდ Android O-ზე. გამოდის, რომ ეს სიმართლეს არ შეესაბამება - ეს ბრძანებები რეალურად კარგად მუშაობს Android Nougat-ზე. ახლა, ჩვენ თითქმის 9 თვეა ვიცნობთ რომ სანავიგაციო ზოლის პერსონალიზაცია შეიძლება ჩართული იყოს Android Nougat-ში, თუმცა თავდაპირველი აღმოჩენა მომხმარებლებს სთხოვდა შეცვალეთ SystemUI APK რომ ნავიგაციის ზოლის ტიუნერის უპირატესობის გამოვლენა. ეს აშკარად იყო მთავარი დაბრკოლება, რომელიც უნდა გადალახოს მრავალი მომხმარებლისთვის, რადგან ის არა მხოლოდ მოითხოვს root წვდომას, არამედ მოითხოვს SystemUI APK-ის დეკომპილაციას და დაყენებას ყოველი განახლებისთვის. თუმცა, თქვენ კი არა საჭიროება იმისათვის, რომ შეცვალოთ SystemUI, რათა გამოაშკარავოთ ნავიგაციის ზოლის ტიუნერის აქტივობა, თქვენ შეგიძლიათ შეცვალოთ საზღვაო ზოლი ხელით ჭურვის ბრძანებების მეშვეობით.

გაფრთხილება: ზოგიერთი მომხმარებლისგან გვესმის, რომ ნავიგაციის ზოლის მორგება არ მუშაობს Google Pixel-ის უახლეს Android 7.1.2 ბეტა ვერსიაზე. სცადეთ ეს ბრძანებები საკუთარი რისკის ქვეშ. უსაფრთხოებისთვის, გირჩევთ სცადოთ ეს პერსონალიზაცია paphonb-ის მიერ შემუშავებული აპლიკაციის გამოყენებით გამოქვეყნებულია ქვემოთ, ვიდრე ADB ბრძანებები. თუ ის არ მუშაობს მის აპლიკაციასთან, მაშინ არ სცადოთ ADB ბრძანებები!

ჩვენ შეგვიძლია დავადასტუროთ, რომ ეს ფარული ნავიგაციის ზოლის პერსონალიზაცია Android Nougat-ში მუშაობს შემდეგ მოწყობილობებზე:

  • Google Nexus 6
  • Google Nexus 5X
  • Google Nexus 6P
  • Google Pixel
  • Google Pixel XL
  • OnePlus 3
  • OnePlus 3T
  • Sony Xperia ტელეფონები

ნავიგაციის ზოლის პერსონალიზატორი, როგორც ჩანს, მუშაობს ნებისმიერ მოწყობილობაზე ან ROM-ზე, რომელსაც არ აქვს ამოღებული AOSP დანერგვა მოწყობილობების უმეტესობას, რომლებსაც აქვთ მარაგის ან მარაგთან ახლოს, firmware, რომელიც დაფუძნებულია Android 7.X Nougat-ზე, უნდა მუშაობდეს.


ნავიგაციის ზოლის ხელით შეცვლა Android Nougat-ში მუშაობს ისევე, როგორც ის მუშაობს Android O-ზე. თქვენ შეგიძლიათ გაგზავნოთ ADB shell ბრძანება კონკრეტული პარამეტრის შესაცვლელად, ან მიანიჭოთ WRITE_SECURE_SETTINGS ნებართვა ისეთ აპლიკაციას, როგორიცაა SecureTask ან AutoTools რათა მათ შეეძლოთ აკონტროლონ პარამეტრების შეცვლა. უსაფრთხო პარამეტრი, რომელიც აკონტროლებს ნავიგაციის ზოლის ღილაკებს. გამოყენებასთან ერთად თასკერი, შეგიძლიათ კონტექსტურად შეცვალოთ ნავიგაციის ზოლიც.

WRITE_SECURE_SETTINGS-ის მინიჭება SecureTask-ისთვის ან AutoTools-ისთვის მარტივია, რადგან ყველაფერი რაც თქვენ უნდა გააკეთოთ არის შეიყვანოთ შემდეგი ADB ჭურვიდან რომელიმე ბრძანება, რომელიც არ საჭიროებს თქვენგან root-ს.

SecureTask-ისთვის:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

ავტომატური ხელსაწყოებისთვის:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

შემდეგ ნავიგაციის ზოლის შესაცვლელად სინტაქსი შემდეგია:

settings put secure sysui_nav_bar "key(KEYCODE_CONSTANT: file:///path/to/icon.png),back; home; recent, key(KEYCODE_CONSTANT: file:///path/to/icon.png)"

შეგიძლიათ ხელახლა მოაწყოთ კლავიშების განლაგება, დაამატოთ სივრცეები მარცხნივ ან მარჯვნივ ღილაკების გადასატანად (აკრეფა space დაამატებს ცარიელ სლოტს ნავიგ ზოლში) აირჩიეთ მორგებული ხატები, შეცვალეთ კლავიშების კოდები და ა.შ. როგორც გნებავთ ამ სინტაქსის დაცვით. მაგალითად, აქ არის ბრძანება, რომელსაც გამოვიყენებდი a-ს დასამატებლად KEYCODE_MENU ღილაკი და ა KEYCODE_FORWARD ღილაკი ჩემს ნავიგაციის ზოლში, რათა გავაუმჯობესოთ Chrome-ის დათვალიერების გამოცდილება:

settings put secure sysui_nav_bar "key(82:file:///storage/emulated/0/NavIcons/menu.png),back; home; recent, key(125:file:///storage/emulated/0/NavIcons/forward.png)"

ხატულას ბილიკები, რომლებზეც მითითებულია ბრძანება, არის მორგებული ხატები, საიდანაც გადმოვწერე IconsDB. მე შევიძინე შესაბამისი ხატის ზომა ჩემი მოწყობილობის ეკრანის სიმკვრივის ძიებით მასალა.io შემდეგ ამ სიმკვრივის კორელაცია ხატის სწორი ზომა საცნობარო სქემის გამოყენებით.

თუ მსურს დავაბრუნო ჩემი ნავიგაციის ზოლი ნაგულისხმევ განლაგებაზე, შევიყვანდი ამ ბრძანებას:

settings put secure sysui_nav_bar "space, back; home; recent, space"

თუ თვალყურს ადევნებდით ჩემს Android O-ს გაკვეთილებს, მაშინ ეს სინტაქსი თქვენთვის ნაცნობი მოგეჩვენებათ. თუ არა, მაშინ არ ინერვიულო. ამისთვის არის აპლიკაცია.


მორგებული ნავიგაციის ზოლი

XDA-ს უფროსი წევრი პაფონბ შეიმუშავა აპლიკაცია ე.წ მორგებული ნავიგაციის ზოლი რომელიც ასრულებს ყველა სამუშაოს თქვენთვის და ცვლის ნავიგაციის ზოლის ღილაკებს. აპი ძალიან მარტივი გამოსაყენებელია, რადგან ის დაფუძნებულია Android O-ის სანავიგაციო ზოლის პერსონალიზერზე. თუმცა, აპი დაშიფრულია, რათა მოგცემთ გამოიყენოთ მორგებული ხატები (ისევე როგორც ჩემს სახელმძღვანელოში), მოიცავს პროფილების შექმნის უნარს, რომელთა შორისაც შეგიძლიათ სწრაფად გადართვა და, გარდა ამისა, აქვს Tasker-ის მხარდაჭერა, ასე რომ თქვენ შეგიძლიათ კონტექსტურად შეცვალოთ ნავიგაციის ზოლი ნებისმიერი კრიტერიუმის მიხედვით მინდა.

თქვენ მხოლოდ უნდა დააინსტალიროთ აპლიკაცია, შემდეგ მიანიჭოთ მას WRITE_SECURE_SETTINGS ნებართვა ADB-ში შემდეგი ბრძანების გაცემით:

adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS

შემდეგ, როდესაც აპს გახსნით, აპი განსაზღვრავს, მხარს უჭერს თუ არა თქვენს მოწყობილობას ნავიგაციის ზოლის შეცვლას. ის შეეცდება წარმოადგინოს "შემდეგი" გასაღები, რომელიც მდებარეობს თქვენს ნავიგ ზოლში. თუ ის გამოჩნდება, შეგიძლიათ შეცვალოთ თქვენი ნავიგაციის ზოლი. თუ არა, აპლიკაცია გეტყვით, რომ არ გაგიმართლათ.

განაცხადი არის უფასო მაგრამ მოითხოვს თქვენ შეიძინოთ პროფესიონალური ვერსია, თუ გსურთ შექმნათ 2-ზე მეტი პროფილი. ეს აპლიკაცია, რა თქმა უნდა, აადვილებს თქვენი ნავიგაციის ზოლის შეცვლას, ამიტომ მე პირადად ვფიქრობ, რომ ფასი ღირს, მაგრამ თუ იცით როგორ, შეგიძლიათ შეასრულოთ ყველა ფუნქცია, რომელსაც ეს აპლიკაცია გთავაზობთ Tasker-ის და SecureTask/AutoTools.


პერსონალიზაციის შესაძლებლობები

ბევრი რამის გაკეთება შეგიძლიათ ამ აპით + Tasker-ით. ბევრი ასეთი შემთხვევა გამოვთქვი ჩემს გაკვეთილებში, მაგრამ აქ არის რამოდენიმე რამის სწრაფი სია, რაც შეგიძლიათ სცადოთ:

  • მუსიკის დაკვრისას მედიის დაკვრის მართვის საშუალებების ჩვენება
  • აჩვენეთ წინ/უკან კლავიშები Gmail-ში ელ. ფოსტის სწრაფად გადასატანად
  • Chrome-ის გამოყენებისას გვერდის ზემოთ/ქვემოთ გადახვევის ღილაკების ჩვენება
  • მარცხნივ/მარჯვენა კურსორების ჩვენება კლავიატურის ჩვენებისას
  • მენიუს/გადამისამართების ღილაკის ჩვენება Chrome-ის გამოყენებისას
  • აჩვენეთ კონტაქტების მალსახმობი და ზარის დასრულების ღილაკი სატელეფონო ზარის დროს

ეს არის ის, რაც მე მომივიდა, როდესაც ვთამაშობდი ნავი ბარის ტიუნერით Android O-ში, მაგრამ ისინი ერთნაირად უნდა მუშაობდნენ ფარული ნავი ზოლის ტიუნერთან Android Nougat-ში.

მე აბსოლუტურად გაოგნებული ვარ, რომ ამდენი დრო დასჭირდა ვინმეს იმის გასარკვევად, რომ ეს ნავიგაციის ზოლის ტიუნერი მუშაობს Android Nougat-ში root გარეშე. ამაზე ფიქრი, სრულიად ლოგიკურია, რომ ის მუშაობს root გარეშე. ყოველივე ამის შემდეგ, SystemUI რეჟიმი მხოლოდ ავლენს პრეფერენციების ფრაგმენტს ნავი ზოლის ტიუნერის აქტივობის დასაწყებად, ეს არ არის ისე, რომ ის მოდი რეალურად ამატებს ფუნქციას SystemUI - ის ყოველთვის იქ იყო. Shell-ის ბრძანებები უბრალოდ საშუალებას გვაძლევს შევცვალოთ ნავიგაციის ზოლი ამ SystemUI აქტივობის გამოვლენის გარეშე, ხოლო paphonb-ის აპი უბრალოდ ამარტივებს ამ ყველაფერს.


როგორ გსურთ თქვენი ნავიგაციის ზოლის მორგება? შეგვატყობინეთ ქვემოთ მოცემულ კომენტარებში!