การใช้เงินช่วยเหลือฉุกเฉิน

อุปกรณ์เคลื่อนที่ทั้งหมดที่ขายในอินเดียตั้งแต่วันที่ 1 มกราคม 2017 จะต้องระบุ ปุ่มตื่นตระหนกเพื่อให้เป็นไปตามข้อกำหนดของกระทรวงโทรคมนาคม (DoT) ของอินเดีย Android ได้รวมข้อมูลอ้างอิงไว้เพื่อให้สอดคล้องกับข้อกำหนดด้านกฎระเบียบเหล่านี้ การใช้ฟีเจอร์ความช่วยเหลือฉุกเฉินเพื่อเปิดใช้ปุ่มสัญญาณเตือนภัย อุปกรณ์ Android

ฟีเจอร์นี้จะเปิดใช้โดยค่าเริ่มต้นใน Android 8.0 ขึ้นไป แต่ ต้องแพตช์อยู่ในบิลด์ที่มีอยู่ของรุ่นก่อนหน้านี้ ช่วงเวลานี้ กำหนดเป้าหมายไปที่อุปกรณ์ที่ขายในตลาดอินเดียโดยเฉพาะ แต่สามารถ รวมอยู่ในอุปกรณ์ทุกชนิดที่ขายทั่วโลกเนื่องจากฟีเจอร์นี้ไม่มีผล นอกประเทศอินเดีย

ตัวอย่างและแหล่งที่มา

ฟีเจอร์เงินช่วยเหลือฉุกเฉินใช้งานในโอเพนซอร์สของ Android โปรเจ็กต์ (AOSP) เฟรมเวิร์ก/ฐาน มีอยู่ใน Branch หลัก และเปิดใช้โดยค่าเริ่มต้นใน Android 8.0 ขึ้นไปรุ่นอื่นๆ

ปัจจุบันฟีเจอร์นี้มีให้บริการใน Branch และสัญญาผูกมัดต่อไปนี้ ข้อมูลนี้มีไว้เพื่อช่วยให้ผู้ผลิตอุปกรณ์แพตช์ การเปลี่ยนแปลงที่จำเป็นในบิลด์ที่มีอยู่ ผู้ผลิตอุปกรณ์ต้องการ การใช้คุณลักษณะค่าใช้จ่ายฉุกเฉินสำหรับ AOSP จะทำให้สามารถ คอมมิตจาก Branch ที่เกี่ยวข้องไปยังบิลด์ของตัวเอง

ตาราง 1 ชุดอุปกรณ์สำหรับใช้อ้างอิงค่าใช้จ่ายฉุกเฉินสำหรับ AOSP องค์ประกอบ

สาขา คอมมิต
หลัก e0c3c66 เพิ่มฟีเจอร์ค่าใช้จ่ายฉุกเฉิน
42a4338 เพิ่มคำแปลสำหรับสตริงการดำเนินการฉุกเฉินแล้ว
4df8d64 แก้ไขปัญหาที่ค่าใช้จ่ายฉุกเฉินจะแสดงบนแท็บเล็ต
Nougat-De E6680D9 เพิ่มฟีเจอร์ค่าใช้จ่ายฉุกเฉิน
95E1865 เพิ่มคำแปลสำหรับสตริงการดำเนินการฉุกเฉินแล้ว
a70bb89 แก้ไขปัญหาที่ค่าใช้จ่ายฉุกเฉินจะแสดงบนแท็บเล็ต
Marshmallow-De cd22634 เพิ่มฟีเจอร์ค่าใช้จ่ายฉุกเฉิน
13f51c6 เพิ่มคำแปลสำหรับสตริงการดำเนินการฉุกเฉินแล้ว
6531666 แก้ไขปัญหาที่ค่าใช้จ่ายฉุกเฉินจะแสดงบนแท็บเล็ต
Lollipop-Mr1-Dev 5fbc86B เพิ่มฟีเจอร์ค่าใช้จ่ายฉุกเฉิน
1b60879 เพิ่มคำแปลสำหรับสตริงการดำเนินการฉุกเฉินแล้ว
D74366F แก้ไขปัญหาที่ค่าใช้จ่ายฉุกเฉินจะแสดงบนแท็บเล็ต

การใช้งาน

ฟีเจอร์เงินจ่ายฉุกเฉินไม่ได้ทำการเปลี่ยนแปลงใดๆ กับ API ที่เปิดเผยผ่าน Android Software Development Kit (SDK) เมื่อเปิดใช้และเปิดใช้งาน จะมีทริกเกอร์ 2 ตัวที่สามารถเริ่มการโทรฉุกเฉินไปยังหมายเลข 112 ซึ่ง เป็นหมายเลขฉุกเฉินหมายเลขเดียวที่ใช้ในอินเดียและตามคำสั่งจากอินเดีย กฎระเบียบของ DoT

การโทรฉุกเฉินจะเริ่มต้นโดยวิธีใดวิธีหนึ่งต่อไปนี้

การกดปุ่ม EMERGENCY ค้างไว้
บน หน้าจอล็อก
แตะตัวเลือกฉุกเฉิน
ใน เมนูการทำงานส่วนกลาง
ฉุกเฉิน
ปุ่ม
รูปที่ 1. ปุ่ม EMERGENCY เปิดอยู่ หน้าจอล็อก
ฉุกเฉิน
ตัวเลือก
รูปที่ 2 การดำเนินการฉุกเฉินเปิดอยู่ เมนูการทำงานส่วนกลาง (เข้าถึงโดยการกดปุ่มเปิด/ปิดค้างไว้)

ฟีเจอร์นี้จะแนะนำคอมโพเนนต์ภายในต่อไปนี้

  • ผู้จัดการด้านการชำระเงินฉุกเฉิน
    frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
    
  • บริการเงินจ่ายฉุกเฉิน
    frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
    

ผู้จัดการด้านการชำระเงินฉุกเฉิน

ExternalAffordanceManager มี API ภายในเพื่อใช้ ฟีเจอร์ราคาประหยัด โดยจะแจ้งวิธีการเริ่มการโทรฉุกเฉิน และ สอบถามขณะรันไทม์ว่าควรเปิดใช้ฟีเจอร์หรือไม่

  • void performEmergencyCall() เริ่มการโทรฉุกเฉิน
  • boolean needsEmergencyAffordance() กำหนดว่าฟีเจอร์ ควรทำงาน

ฟีเจอร์อาจถูกปิดใช้อย่างถาวรในเวลาสร้างด้วยการเปลี่ยน EmergencyAffordanceManager.ENABLED คงที่เป็น false การดำเนินการนี้จะทำให้ needsEmergencyAffordance() แสดงค่า "เท็จ" เสมอ และป้องกันไม่ให้ EmergencyAffordanceService เริ่มต้นทำงาน

บริการเงินจ่ายฉุกเฉิน

EmergencyAffordanceService คือบริการของระบบที่ตรวจสอบ รหัสประเทศของอุปกรณ์เคลื่อนที่ (MCC) ของเครือข่ายมือถือทั้งหมดที่ตรวจพบและ MCC ของซิมการ์ดที่ติดตั้งไว้ หากซิมการ์ดที่ติดตั้งไว้หรือตรวจพบ เครือข่ายมือถือมี MCC ที่ตรงกับหนึ่งใน MCC ของอินเดีย (404 หรือ 405) จากนั้น จะเปิดใช้ ซึ่งหมายความว่าฟีเจอร์นี้สามารถเปิดใช้ในอินเดียได้ แม้ว่า ไม่มีซิมการ์ด โดยคาดว่าเครือข่ายมือถือจะอนุญาต การลงทะเบียนสำหรับการโทรฉุกเฉินแม้ว่าจะไม่ได้ติดตั้งซิมการ์ด ฟีเจอร์ จะยังเปิดใช้จนกว่าจะมีการติดตั้งซิมที่ไม่ได้อยู่ในอินเดีย และไม่มีการติดตั้งซิมใดที่ตรวจพบ เครือข่ายต่างๆ จะมี MCC ที่ตรงกัน

แหล่งข้อมูลและการตั้งค่าต่อไปนี้ส่งผลต่อลักษณะการทำงานของกรณีฉุกเฉิน ฟีเจอร์ราคาประหยัด หากประเภทการกำหนดค่าคือ

  • Resource ซึ่งเป็นทรัพยากรภายในที่กำหนดไว้ใน frameworks/base/core/res/res/values/config.xml
  • การตั้งค่า ซึ่งเป็นการตั้งค่าที่เก็บไว้ในการตั้งค่าระบบ

ตาราง 2 การตั้งค่าที่มีผลต่อลักษณะการทำงานของค่าใช้จ่ายฉุกเฉิน องค์ประกอบ

ประเภทการกำหนดค่า ชื่อ คำอธิบาย
ทรัพยากร หมายเลข config_emergency_call_ หมายเลขโทรศัพท์ที่จะโทรโดยอัตโนมัติเมื่อมีการโทรหาหมายเลขฉุกเฉิน เริ่มต้นแล้ว
ประเภท: สตริง
ค่าเริ่มต้น: 112
ทรัพยากร รหัสฉุกเฉินของรหัส config_emergency_mcc_code ชุดเลขจำนวนเต็มที่แสดง MCC ที่ฟีเจอร์นี้ควรใช้อยู่
ประเภท: อาร์เรย์ของจำนวนเต็ม
ค่าเริ่มต้น: {404,405}
การเกริ่นนำ หมายเลขฉุกเฉิน ลบล้างการตั้งค่าโดยรวมด้วยหมายเลขที่จะโทรหาเหตุฉุกเฉิน และมีกำลังซื้อ ซึ่งจะมีผลต่ออิมเมจบิลด์ที่แก้ไขข้อบกพร่องได้เท่านั้น (กล่าวคือ คือ userdebug หรือ eng) ฟีเจอร์นี้ใช้สำหรับการทดสอบเท่านั้น
ประเภท: สตริง
ค่าเริ่มต้น: ไม่ได้ตั้งค่า
การเกริ่นนำ ค่าจ้างฉุกเฉิน การตั้งค่าส่วนกลาง ไม่ว่าจะแสดงค่าใช้จ่ายสำหรับกรณีฉุกเฉินหรือไม่ ของสถานะอุปกรณ์ ฟีเจอร์นี้ใช้สำหรับการทดสอบเท่านั้น
ประเภท: บูลีน (1 หรือ 0)
ค่าเริ่มต้น: ไม่ได้ตั้งค่า --> 0 ครั้ง

เปิดใช้การโทรหาหมายเลขฉุกเฉินไปที่ 112

ฟีเจอร์ค่าใช้จ่ายฉุกเฉินจะเชื่อมต่อการโทรโดยใช้บริการช่วยเหลือฉุกเฉิน แป้นโทรศัพท์เพื่อให้เชื่อมต่อสายได้เมื่อหน้าจอล็อกทำงานอยู่ แป้นโทรศัพท์ฉุกเฉินจะเชื่อมต่อสายไปยังรายการหมายเลขที่ Radio Interface Layer (RIL) ผ่านพร็อพเพอร์ตี้ระบบ

  • ril.ecclistเมื่อไม่มีการติดตั้งซิม
  • ril.ecclistSimSlotNumberเมื่อใส่ซิม และ SimSlotNumber คือรหัสช่องโฆษณาของค่าเริ่มต้น สมาชิก

ผู้ผลิตอุปกรณ์ที่ใช้ฟีเจอร์ค่าใช้จ่ายฉุกเฉินต้องตรวจสอบว่า อุปกรณ์ในอินเดียจะเปิดใช้ 112 เป็นหมายเลขฉุกเฉินใน RIL เสมอ

การตรวจสอบความถูกต้อง

ขณะทดสอบในบิลด์ที่แก้ไขข้อบกพร่องได้ หมายเลขที่เรียกใช้ได้จะเปลี่ยนแปลงได้ ด้วยคำสั่งต่อไปนี้

adb shell settings put global emergency_affordance_number NUMBER_TO_CALL

แม้ว่าการตั้งค่านี้จะสามารถตั้งค่าเป็นบิลด์ผู้ใช้ปกติได้ แต่ระบบจะไม่สนใจการตั้งค่านี้ หากต้องการต่อสาย หมายเลขนั้นจะต้องอยู่ในรายการหมายเลขฉุกเฉิน มาจาก RIL ซึ่งสามารถทำได้ชั่วคราวโดยใช้วิธีต่อไปนี้ ดำเนินการจากรูทเชลล์ในอุปกรณ์ userdebug

setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"

คำสั่งต่อไปนี้ยังสามารถใช้เพื่อบังคับให้ใช้เงินช่วยเหลือฉุกเฉินได้ เปิดใช้งาน แม้ในกรณีที่ไม่มีเครือข่ายมือถือในอินเดีย ตรวจพบหรือมีการใส่ซิมการ์ดของอินเดีย

adb shell settings put global force_emergency_affordance 1

อย่างน้อยที่สุด ขอแนะนำให้ทดสอบกรณีต่อไปนี้

  • เมื่อเปิดใช้งานแล้ว ให้กดปุ่ม EMERGENCY ค้างไว้ หน้าจอล็อก (รูปที่ 1) จะเริ่มโทรหาหมายเลขฉุกเฉินที่ระบุไว้
  • เมื่อเปิดใช้งานแล้ว รายการฉุกเฉินในการดําเนินการส่วนกลาง เมนูแสดงอยู่และการแตะเมนูจะเป็นการเริ่มโทรหาเหตุฉุกเฉินที่ระบุ หมายเลข
  • ฟีเจอร์จะไม่ได้เปิดใช้งานในกรณีที่ไม่มี ตรวจพบเครือข่ายมือถือของอินเดียที่มีการติดตั้งซิมการ์ดที่ไม่ใช่ของอินเดีย
  • ฟีเจอร์เปิดใช้งานในอุปกรณ์เมื่อซิมอินเดีย ระบบจะติดตั้งการ์ดนี้โดยไม่คำนึงถึงเครือข่ายมือถือที่ตรวจพบ
  • ฟีเจอร์เปิดใช้งานในอุปกรณ์แล้ว เครือข่ายมือถือของอินเดีย ไม่ว่าจะติดตั้งซิมการ์ดไว้หรือไม่ก็ตาม

หากอุปกรณ์รองรับซิมการ์ดหลายอัน การทดสอบควรตรวจสอบให้แน่ใจว่า ว่าการตรวจหา MCC ของซิมทำงานได้อย่างถูกต้องในช่องซิมแต่ละช่อง เหตุฉุกเฉิน ฟีเจอร์ราคาพิเศษไม่ได้ควบคุมโดยความเข้ากันได้ของ Android ดังนั้นจึงไม่มี ความเข้ากันได้ Test Suite (CTS) ของอุปกรณ์

คำถามที่พบบ่อย

ถาม หมายเลขฉุกเฉิน 112 ยังไม่ได้รับการว่าจ้างใน India ยังควรใช้อยู่ไหม

112 คือหมายเลขที่จะใช้ในอินเดียเป็นคำตอบเพื่อความปลอดภัยสาธารณะ จุด (PSAP) ตามที่กำหนดโดยฝ่ายการสื่อสารและการตอบสนองในกรณีฉุกเฉินแบบผสานรวม ระบบ (IECRS) ระบบจะโอนสายไปยังหมายเลข 112 ทั้งหมดจนกว่า PSAP จะได้รับมอบหมาย ไปยังหมายเลขฉุกเฉิน 100 หมายเลขที่มีอยู่ (แม้จะเป็นความรับผิดชอบของ ของผู้ให้บริการ ไม่ใช่ Android)

ถาม แล้วทริกเกอร์อื่นๆ เช่น การกด 3 ครั้งล่ะ ปุ่มเปิด/ปิดล่ะ

ผู้ผลิตอุปกรณ์อาจเลือกใช้ทริกเกอร์เพิ่มเติม อย่างไรก็ตาม ในขณะที่ Indian DoT อนุมัติการแตะ 3 ครั้งบนปุ่มเปิด/ปิดฮาร์ดแวร์ ไม่รองรับทริกเกอร์ในการใช้งานการอ้างอิง AOSP เนื่องจากแอปที่ใช้กันอย่างแพร่หลาย (เช่น แอปกล้องถ่ายรูป) ใช้ท่าทางสัมผัสของปุ่มเปิด/ปิด ซึ่งรวมถึงการแตะปุ่มเปิด/ปิดซ้ำๆ แอปเหล่านี้อาจ รบกวนแป้นโทรฉุกเฉิน หรือผู้ใช้อาจเรียกใช้แป้นหมายเลขฉุกเฉินโดยไม่ตั้งใจ ปุ่มตื่นตระหนกขณะพยายามเรียกใช้การดำเนินการในแอปเหล่านี้