Skip to main content

เพิ่ม Toggle ให้กับ Notification Bar ด้วย Widgetsoid (ไม่ต้อง Root)


มือถือหลายๆ ค่ายจะมี Shortcut สำหรับเปิดหรือปิดการใช้งานจำพวก WiFi, Bluetooth, GPS และอื่นๆ บน Notification Bar (Shortcut เหล่านี้เรียกว่า Toggle) ทำให้ไม่จำเป็นต้องเข้าไปในหน้า Setting แค่เพียงลาก Notification Bar ลงมา ก็สามารถใช้ Toggle เปิดหรือปิดการใช้งานบางอย่างได้ โดยไม่จำเป็นต้องออกจากหน้าแอพพิลเคชั่นที่กำลังใช้งานอยู่ 

ยกตัวอย่างจากประสบการณ์ของผม เนื่องจากผมใช้ Package อินเตอร์เน็ตเป็นแบบราย ชม. เวลาใช้ Google Map เมื่อค้นหาเส้นทางและต่อ GPS ได้สำเร็จแล้ว ผมจะปิดอินเตอร์เน็ตทันที (จะได้ไม่เปลือง ชม. อินเตอร์เน็ต) แต่ถ้าหากเราออกจากหน้า Google Map การเชื่อมต่อ GPS ก็จะหลุด ดังนั้นถ้ามือถือผมไม่มี Toggle บน Notification Bar ก็จะไม่สามารถปิดอินเตอร์เน็ตได้ทำให้ต้องต่ออินเตอร์เน็ตตลอดเวลา

เนื่องจาก Custom Rom อย่าง CM หรือ MIUI ก็มี Toggle พวกนี้ ทำให้คิดว่าน่าจะมีคนพอร์ทมันออกมาเป็นแอพพิลเคชั่น พอลองค้นหาดู พอดีไปเจอใน blog ของคุณ markpeak แนะนำให้ใช้ Widgetsoid เมื่อลองใช้ดูพบว่าของเค้าดีจริงๆ เลยนำมาบอกต่อ

Widgetsoid ฟังก์ชั่นหลักๆ มันเหมือนกับ Power Control Widget ที่มีอยู่ใน Android มาตั้งแต่เวอร์ชั่น 1.6 (รูปด้านบน) เพียงแต่เราสามารถปรับเปลี่ยนหรือเพิ่มเติม
Toggle การทำงานต่างๆ ได้ ส่วนการเอา Widget ไปอยู่บน Notification Bar นั้นเป็นแค่ Option เสริม

วิธีใช้อย่างคร่าวๆ

ก่อนอื่นต้องสร้าง Widget ขึ้นมาก่อน ซึ่ง Widget ของ Widgetsoid มีรูปแบบให้เลือกเยอะมาก เมื่อเราลาก Widget มาลงบนหน้าจอ มันก็จะเด้งเข้าสู่หน้า Setting เพื่อให้เราปรับแต่งว่าจะมี Toggle อะไรอยู่บน Widget บ้าง

โดย Toggle จะถูกแบ่งออกเป็นหมวดหมู่ต่างๆ อย่างเช่น Network, Screen, Sound เป็นต้น เพื่อความสะดวกในการหา Toggle นอกจากนี้ยังสามารถปรับแต่ง Theme ของ Widget สำหรับคนที่ชอบความแปลกใหม่


ในแต่ละ Toggle สามารถปรับการตั้งค่าเพิ่มเติมได้อีกด้วย (รูป icon setting ในกรอบสีส้ม) อย่าง Toggle Brightness สามารถปรับระดับแสงสว่างในแต่ละระดับได้ด้วย หรือ Toggle ของ WiFi สามารถเลือกให้เปิดหน้า Setting ของ WiFi เมื่อกด Toggle ซึ่งในบางครั้งเราจำเป็นต้องเข้าหน้า Setting เพื่อเลือกว่าจะเชื่อมต่อกับ WiFi Hotspot ตัวไหน


เมื่อเลือก Toggle เรียบแล้วอย่าลืมเข้ามาใน Tab ของ Advance และต้องเลือกที่ช่อง Notification ด้วย Toggle ถึงจะไปโผล่บน Notification Bar
เพิ่มเติม จากที่คุณ Oakyman แนะนำมาใน comment ให้เลือก Widget invisible จะทำให้ Toggle โผล่บน Notification Bar อย่างเดียว!!!

ข้อดี

  • สามารถเปิดปิด Mobile Data ได้จริง ไม่ใช่เป็นการเปลี่ยน APN Name (ใช้ได้ใน Android 4.0 ขึ้นไป)
  • ปรับแต่งได้เยอะมาก
  • ไม่จำเป็นต้อง Root
ข้อเสีย
  • ในเวอร์ชั่นฟรี ถ้าต้องการให้ Toggle อยู่บน Notification Bar จำเป็นต้องมี Widget อยู่ในหน้า Home Screen ด้วย 
  • ถ้าหากมี Toggle เยอะๆ Toggle ก็จะถูกบีบให้เล็กลงเพื่อที่จะแสดง Toggle ที่เราเลือกได้ทั้งหมด ทำให้กดได้ยาก
  • UI ของหน้า Setting Widgetsoid ค่อนข้างซับซ้อน ทำให้งงๆ ได้เหมือนกัน 
ถ้าสนใจสามารถหาโหลดใน Play Store ตาม Link ด้านล่างนี้ครับ
Play Store: Widgetsoid2.x Free, Widgetsoid2.x Donate

Comments

Popular posts from this blog

ลองเล่นและเรียนรู้พื้นฐานขั้นต้นของ Spring Framework

** สำหรับใครที่ไม่เคยเรียนรู้ในด้านของ Java EE หรือ J2EE อาจจะมึนงงกับศัพท์หน่อยครับ ทำไมต้อง Spring Spring เป็น framework ที่นิยมมากในการนำไปสร้างระบบในระดับ enterprise ในเริ่มแรกที่ Spring เกิดมา มีจุดมุ่งหมายเพื่อที่จะมาแทนที่มาตรฐานของ Java อย่าง J2EE (Java 2 Enterprise Edition) ที่มันทั้งหน่วงทั้งอืดและยุ่งยาก โดยเฉพาะในส่วนของ EJB (Enterprise Java Bean) ที่ถือว่าเป็นฝันร้ายของนักพัฒนา ทำให้กูรูสาย Java ในช่วงนั้นถึงกับแนะนำว่า ถ้าจำเป็นที่ต้องพัฒนาระบบด้วย J2EE จงอย่าใช้ EJB ถึงขั้นถึงกับมีหนังสือแนะแนวทางการพัฒนาระบบ J2EE โดยไม่ใช้ EJB อย่างไรก็ตามทาง Sun ผู้เป็นเจ้าของ Java ในสมัยนั้น ถึงกับต้องมาล้างระบบ J2EE ใหม่ในปี 2006 จัดการใน EJB ให้ใช้ง่ายขึ้น มีประสิทธิภาพมากขึ้น และมีการเปลี่ยนชื่อจาก J2EE เป็น Java EE (Java Enterprise Edition) เพื่อลบภาพอันเลวร้ายของเดิมให้หมด และได้มีการนำฟีเจอร์เด็ดๆ ของ open source framework หลายๆ ตัว อย่างเช่นแกนหลักของ Spring อย่าง IoC (Inversion of Control) หรือ OR Mapping (Object Relational Mapping) ที่เป็นที่นิยมอย่าง Hibernate แต่ก็ไ

Inversion of Control และ Dependency Injection

Inversion of Control (IoC) คืออะไร IoC เป็นทฤษฏีที่ว่าด้วย การลดความผูกมัด (dependency) กันในระหว่าง module เพื่อให้ application ของเราแก้ไข (maintain) ต่อเติม (extensible) หรือทดสอบ (test) ได้ง่ายขึ้น ซึ่งเอาจริงๆ IoC เป็นอะไรที่ทำให้เราสับสนและงุนงงมากๆ ว่ามันคืออะไร หลายๆ คนจึงยกให้ว่า IoC คือ Dependency Injection (DI) ซึ่งจริงๆ มันก็ไม่ถูกซะทีเดียว  Dependency คืออะไร Dependency คือการผูกมัดที่เกิดขึ้นในระบบ เมื่อ module นึงมีการเรียกใช้อีก module นึงด้วยการอ้างอิง (reference) ตรงๆ แล้วอะไรที่เรียกว่าการ อ้างอิง (Reference) แบบตรงๆ   อย่างภาพ diagram ด้านบน class LogEngine มีการเรียกใช้ ConsoleLog โดยตรง ซึ่งมองผ่าน diagram อาจจะไม่เห็นภาพลองดู code กัน public class ConsoleLog { public void openLog(){ //do something to open log } public void log(String message){ //do something to log } public void closeLog(){ //do something to close log } } public class LogEngine { private ConsoleLog log; public LogEngine(){

ลองเล่น Lambda Expression ฟีเจอร์เด่นใน Java 8

ประวัติความเป็นมาของ Lambda expression Lambda expression ไม่ใช่สิ่งแปลกใหม่ในวงการ ภาษาโปรแกรม ( Programming Language ) เพราะ lambda มันเป็นแกนหลักของ การเขียนโปรแกรมเชิงฟังก์ชัน ( Functional Programming ) ซึ่งมีอายุมานานมากแล้ว แต่ Java เพิ่งนำเอาคุณสมบัตินี้เอามาใส่ลงในเวอร์ชัน 8 หากจะกล่าวถึงที่มาของ lambda คงต้องไปดูที่ถึงที่มาของ lambda calculus ซึ่งถูกสร้างขึ้นมาตั้งแต่ปี 1930 โดยนักคณิตศาสตร์ชาวอเมริกัน  Alonzo Church  เพื่อใช้ในการแก้โจทย์ปัญหาทางคณิตศาสตร์ที่มีความซับซ้อน ในบางครั้งสมการทางคณิตศาสตร์ที่ยาวไปอาจจะทำให้เกิดความซับซ้อนโดยใช่เหตุ lambda calculus จะทำการยุบบางส่วนของสมการนั้นออกมาเป็นฟังก์ชันย่อยๆ เพื่อทำให้สมการนั้นเข้าใจง่ายขึ้น ต่อมาหลักการของ lambda calculus ได้ถูกนำไปใช้ใน Turing Machine ซึ่งเป็นแบบจำลองในอุดมคติของ Alan Turing  ที่ต่อมากลายเป็นต้นแบบที่ถูกนำไปใช้ในการผลิต  Von Neumann Machine  ซึ่ง Von Neumann Machine ตัวนี้ได้กลายเป็นต้นแบบของคอมพิวเตอร์เครื่องแรกของโลกในเวลาต่อมา ท้ายที่สุดแนวคิดของ lambda calculus ก็ถูกนำมาแปลงเป็นภาษาโปรแกรมท