จริงๆ แล้วการปรับแต่งแถบนำทางของ Android O นั้นซ่อนอยู่ใน Android Nougat มาตลอด เราทุกคนรู้เรื่องนี้ แต่กลับกลายเป็นว่ามันไม่จำเป็นต้องรูท!
ยกมือขึ้นที่นี่: มีกี่คนที่ลงสมัครเป็นคนแรกจริงๆ ตัวอย่างนักพัฒนา Android O? Developer Preview ไม่เพียงแต่ใช้งานได้กับอุปกรณ์ Google เพียงไม่กี่เครื่องเท่านั้น แต่ยังไม่เหมาะสมที่จะเป็นไดรเวอร์รายวันอีกด้วย แน่นอนว่าผู้ใช้ทั่วไปไม่เคยมีจุดประสงค์ให้ใช้งาน แต่เพื่อเป็นพื้นที่ทดสอบสำหรับนักพัฒนาเพื่อให้แน่ใจว่าแอปพลิเคชันของพวกเขาจะทำงานได้เมื่อ Android O เปิดตัวอย่างเป็นทางการ อย่างไรก็ตาม นั่นไม่ได้หมายความว่าเราไม่สามารถสนุกสนานเพื่อตัวเองและลองดูว่ามีอะไรอยู่ข้างในบ้าง หนึ่งในคุณสมบัติที่น่าตื่นเต้นที่สุดที่มาพร้อมกับอุปกรณ์ Android O คือ การปรับแต่งแถบนำทาง อยู่ใน System UI Tuner แต่จะเป็นอย่างไรถ้าเราบอกคุณว่าการปรับแต่งแถบนำทางที่ยอดเยี่ยมนี้ไม่ได้มีไว้สำหรับผู้ใช้ในหน้าตัวอย่างนักพัฒนา Android O เท่านั้น ถูกต้องแล้ว คุณสมบัตินี้จริงๆ ใช้งานได้บน Android 7.X Nougat แล้วและไม่จำเป็นต้องเข้าถึงรูทด้วย
ฝ่ามือ. เมื่อฉันเขียนของฉัน บทช่วยสอนเกี่ยวกับการปรับเปลี่ยนแถบนำทางตามบริบท
บน Android O ฉันคิดว่าคำสั่งเชลล์เหล่านี้ที่ฉันส่งไปจะทำงานบน Android O เท่านั้น ปรากฎว่าไม่เป็นความจริง - คำสั่งเหล่านี้ทำงานได้ดีบน Android Nougat ตอนนี้, เรารู้จักกันมาเกือบ 9 เดือนแล้ว การปรับแต่งแถบนำทางนั้นสามารถเปิดใช้งานได้ใน Android Nougat อย่างไรก็ตาม การค้นพบครั้งแรกต้องการให้ผู้ใช้ทำ แก้ไข SystemUI APK ถึง เปิดเผยการตั้งค่าจูนเนอร์แถบนำทาง. นี่เป็นอุปสรรคสำคัญอย่างชัดเจนที่ต้องเอาชนะสำหรับผู้ใช้จำนวนมาก เนื่องจากไม่เพียงแต่ต้องการการเข้าถึงรูทเท่านั้น แต่ยังต้องมี SystemUI APK ที่ต้องถอดรหัสและแพตช์สำหรับการอัปเดตทุกครั้งอีกด้วย อย่างไรก็ตาม คุณไม่แม้แต่จะ ความต้องการ ในการแก้ไข SystemUI เพื่อแสดงกิจกรรมจูนเนอร์แถบนำทางนี้ คุณสามารถแก้ไขแถบนำทางด้วยตนเองผ่านคำสั่งเชลล์ได้เลย!คำเตือน: เราได้รับแจ้งจากผู้ใช้บางรายว่าการปรับแต่งแถบนำทางไม่ทำงานบน Android 7.1.2 เบต้ารุ่นล่าสุดบน Google Pixel ลองใช้คำสั่งเหล่านี้ด้วยความเสี่ยงของคุณเอง เพื่อความปลอดภัย ฉันแนะนำให้ลองใช้การปรับแต่งนี้ โดยใช้แอพที่พัฒนาโดย paphonb โพสต์ด้านล่างแทนที่จะเป็นคำสั่ง ADB หากใช้ไม่ได้กับแอปของเขา อย่าลองใช้คำสั่ง ADB!
เราสามารถยืนยันได้ว่าการปรับแต่งแถบนำทางที่ซ่อนอยู่ใน Android Nougat นี้ใช้งานได้บนอุปกรณ์ต่อไปนี้:
- กูเกิล เน็กซัส 6
- กูเกิล เน็กซัส 5X
- กูเกิล เน็กซัส 6พี
- กูเกิลพิกเซล
- Google พิกเซล XL
- โอเปิ้ล 3
- โอเปิ้ล 3T
- โทรศัพท์โซนี่เอ็กซ์พีเรีย
เครื่องมือปรับแต่งแถบนำทางดูเหมือนว่าจะทำงานบนอุปกรณ์หรือ ROM ใด ๆ ที่ไม่ได้ลบการใช้งาน AOSP ออกไป อุปกรณ์ส่วนใหญ่ที่มีเฟิร์มแวร์สต็อกหรือใกล้สต็อกที่ใช้ Android 7.X Nougat ควรใช้งานได้
การปรับเปลี่ยนแถบนำทางด้วยตนเองใน Android Nougat นั้นทำงานคล้ายกับการทำงานบน Android O มาก คุณสามารถส่งคำสั่งเชลล์ ADB เพื่อแก้ไขการตั้งค่าเฉพาะหรือให้สิทธิ์ WRITE_SECURE_SETTINGS แก่แอปพลิเคชันเช่น SecureTask หรือ เครื่องมืออัตโนมัติ เพื่อให้สามารถควบคุมการแก้ไขการตั้งค่าได้ การตั้งค่าความปลอดภัยที่ควบคุมปุ่มแถบนำทาง ด้วยการใช้ ทาซเคอร์คุณสามารถปรับเปลี่ยนแถบนำทางตามบริบทได้เช่นกัน
การให้ WRITE_SECURE_SETTINGS ให้กับ SecureTask หรือ AutoTools นั้นง่ายดาย เพียงคุณป้อนคำสั่งเชลล์ ADB ต่อไปนี้ ซึ่งไม่จำเป็นต้องทำการรูท
สำหรับ 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
จะเพิ่มช่องว่างให้กับแถบนำทาง) เลือกไอคอนที่กำหนดเอง เปลี่ยนรหัส ฯลฯ ตามที่คุณต้องการโดยทำตามไวยากรณ์นี้ ตัวอย่างเช่น นี่คือคำสั่งที่ฉันจะใช้เพื่อเพิ่ม KEYCODE_เมนู ปุ่มและ 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)"
เส้นทางไอคอนที่คำสั่งอ้างอิงเป็นไอคอนแบบกำหนดเองที่ฉันดาวน์โหลดมา ไอคอนดีบี. ฉันได้ขนาดไอคอนที่เหมาะสมโดยการค้นหาความหนาแน่นของการแสดงผลของอุปกรณ์ วัสดุ.io แล้วเชื่อมโยงความหนาแน่นนั้นกับ ขนาดไอคอนที่เหมาะสมโดยใช้แผนภูมิอ้างอิง.
หากฉันต้องการเปลี่ยนแถบนำทางกลับไปเป็นรูปแบบเริ่มต้น ฉันจะป้อนคำสั่งนี้:
settings put secure sysui_nav_bar "space, back; home; recent, space"
หากคุณติดตามบทช่วยสอน Android O ของฉันอยู่เสมอ ไวยากรณ์นี้จะทำให้คุณคุ้นเคย ถ้าไม่เช่นนั้นก็ไม่ต้องกังวล มีแอพสำหรับสิ่งนั้น
แถบนำทางแบบกำหนดเอง
สมาชิกอาวุโส XDA ปภ ได้พัฒนาแอพพลิเคชั่นที่เรียกว่า แถบนำทางแบบกำหนดเอง ที่ทำทุกอย่างให้คุณและเปลี่ยนปุ่มแถบนำทาง แอปนี้ใช้งานง่ายมากเนื่องจากมีพื้นฐานมาจากเครื่องมือปรับแต่งแถบนำทางของ Android O อย่างไรก็ตาม แอปได้รับการเข้ารหัสเพื่อให้คุณใช้ไอคอนที่กำหนดเองได้ (เหมือนในบทช่วยสอนของฉัน) รวมถึงความสามารถในการสร้างโปรไฟล์ที่คุณสามารถสลับไปมาได้อย่างรวดเร็ว และยังมีอีกด้วย การสนับสนุนทาซเคอร์เพื่อให้คุณสามารถเปลี่ยนแถบนำทางตามบริบทตามเกณฑ์ใดก็ได้ ต้องการ.
สิ่งที่คุณต้องทำคือติดตั้งแอป จากนั้นให้สิทธิ์ WRITE_SECURE_SETTINGS โดยออกคำสั่งต่อไปนี้ใน ADB:
adbshellpmgrantxyz.paphonb.systemuitunerandroid.permission.WRITE_SECURE_SETTINGS
จากนั้นเมื่อคุณเปิดแอป แอปจะพิจารณาว่าอุปกรณ์ของคุณรองรับการปรับเปลี่ยนแถบนำทางหรือไม่ จะพยายามนำเสนอคีย์ "ถัดไป" ที่อยู่ตรงกลางแถบนำทางของคุณ หากปรากฏขึ้น แสดงว่าคุณสามารถแก้ไขแถบนำทางของคุณได้ ถ้าไม่เช่นนั้น แอปจะบอกคุณว่าคุณโชคไม่ดี
การสมัครคือ ฟรี แต่คุณจะต้องซื้อเวอร์ชันโปรหากคุณต้องการสร้างโปรไฟล์มากกว่า 2 รายการ แอปพลิเคชั่นนี้ทำให้การปรับเปลี่ยนแถบนำทางของคุณง่ายขึ้นอย่างแน่นอน ดังนั้นโดยส่วนตัวฉันคิดว่าราคาคุ้มค่า แต่หากมีความรู้ คุณก็สามารถใช้ฟีเจอร์ทั้งหมดที่แอปนี้นำเสนอผ่าน Tasker และได้ SecureTask/เครื่องมืออัตโนมัติ
ความเป็นไปได้ในการปรับแต่ง
มีหลายสิ่งที่คุณสามารถทำได้ด้วยแอป + Tasker นี้ ฉันได้สรุปกรณีดังกล่าวไว้มากมาย ในบทช่วยสอนของฉันแต่นี่คือรายการโดยย่อของบางสิ่งที่คุณสามารถลองได้:
- แสดงส่วนควบคุมการเล่นสื่อเมื่อเล่นเพลง
- แสดงปุ่มไปข้างหน้า/ย้อนกลับเมื่ออยู่ใน Gmail เพื่อหมุนเวียนอีเมลอย่างรวดเร็ว
- แสดงปุ่มเลื่อนหน้าขึ้น/ลงเมื่อใช้ Chrome
- แสดงเคอร์เซอร์ซ้าย/ขวาเมื่อแป้นพิมพ์แสดงอยู่
- แสดงเมนู/ปุ่มไปข้างหน้าเมื่อใช้ Chrome
- แสดงทางลัดรายชื่อและปุ่มวางสายขณะอยู่ในสายโทรศัพท์
นี่คือสิ่งที่ฉันคิดขึ้นมาเมื่อฉันเล่นกับเครื่องรับสัญญาณแถบนำทางใน Android O แต่ควรจะทำงานได้เหมือนกันกับเครื่องรับสัญญาณแถบนำทางที่ซ่อนอยู่ใน Android Nougat
ฉันประหลาดใจอย่างยิ่งที่บางคนใช้เวลานานมากในการรู้ว่าเครื่องรับสัญญาณแถบนำทางนี้ทำงานใน Android Nougat โดยไม่ต้องรูท เมื่อคิดย้อนกลับไป มันสมเหตุสมผลดีว่ามันทำงานได้โดยไม่ต้องรูท ท้ายที่สุดแล้ว ตัวดัดแปลง SystemUI จะเปิดเผยเฉพาะส่วนการตั้งค่าเพื่อเริ่มกิจกรรมตัวปรับแต่งแถบนำทาง ไม่ใช่ว่าตัวดัดแปลงนั้นจะเพิ่มคุณสมบัติให้กับ SystemUI จริง ๆ - มันอยู่ที่นั่นเสมอ คำสั่งเชลล์อนุญาตให้เราเปลี่ยนแถบนำทางโดยไม่ต้องเปิดเผยกิจกรรม SystemUI นี้ และแอปของ paphonb ก็ทำให้ทั้งหมดนี้ง่ายขึ้น
คุณต้องการปรับแต่งแถบนำทางของคุณอย่างไร? แจ้งให้เราทราบในความคิดเห็นด้านล่าง!