ปรับแต่งลักษณะการทำงานของอุปกรณ์สำหรับผู้ใช้ที่มีความผิดปกติ

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

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

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

แอปของผู้ให้บริการเริ่มต้นจะอยู่ที่ platform/frameworks/base/packages/CarrierDefaultApp/.

การใช้งาน

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

แนะนำการใช้งาน

สัญญาณ

เฟรมเวิร์ก Android รองรับการกำหนดค่าการดำเนินการให้มีพารามิเตอร์ต่อไปนี้ สัญญาณ:

  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REDIRECTED
  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED

สัญญาณเหล่านี้จะอยู่ใน frameworks/base/telephony/java/com/android/internal/telephony/TelephonyIntents.java

การดำเนินการที่รองรับ

แอปของผู้ให้บริการเริ่มต้นจะกำหนดชุดการดำเนินการที่รองรับซึ่งแมปได้ด้วย สัญญาณที่รองรับ ซึ่งมีคำนิยามใน CarrierActionUtils.java

    public static final int CARRIER_ACTION_ENABLE_METERED_APNS               = 0;
    public static final int CARRIER_ACTION_DISABLE_METERED_APNS              = 1;
    public static final int CARRIER_ACTION_DISABLE_RADIO                     = 2;
    public static final int CARRIER_ACTION_ENABLE_RADIO                      = 3;
    public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION          = 4;
    public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5;
    public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS          = 6;

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

การแมปการกระทําที่ถือเป็นสัญญาณเริ่มต้น

กำหนดค่าการทำงานเริ่มต้นโดยทำตามกระบวนการนี้:

  1. กำหนดคีย์สำหรับสัญญาณที่รองรับ

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

    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array";
    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY =
    "carrier_default_actions_on_dcfailure_string_array";
  2. เชื่อมโยงการดำเนินการเริ่มต้นกับคีย์สัญญาณ

    รหัสการดำเนินการเริ่มต้นจะเชื่อมโยงกับคีย์สัญญาณ ดังนี้

    sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY,                new String[]{
                    "1, 4"
                    //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION
                    // 4: CARRIER_ACTION_DISABLE_METERED_APNS
             });
    

    เฟรมเวิร์กโทรศัพท์จะแมปการดำเนินการเหล่านี้กับสัญญาณที่เกี่ยวข้อง

ลบล้างการกระทำเริ่มต้น

คุณสามารถกำหนดการทำงานที่กำหนดเองสำหรับสัญญาณที่รองรับใน XML การกำหนดค่าของผู้ให้บริการ โดยการเชื่อมโยงรหัสการดำเนินการกับคีย์สัญญาณ (ที่กำหนดไว้ใน CarrierConfigManager.java) ตัวอย่างเช่น การแมปต่อไปนี้ ปิดใช้ APN ที่มีการวัดปริมาณอินเทอร์เน็ตและแสดงการแจ้งเตือนพอร์ทัลเกี่ยวกับการเปลี่ยนเส้นทาง

<string-array name="carrier_default_actions_on_redirection_string_array" num="2">
            <item value="1" />
            <item value="4" />
</string-array>

เฟรมเวิร์กโทรศัพท์จะโหลดการกำหนดค่าเหล่านี้และลบล้างค่าเริ่มต้น การดำเนินการ

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

ไม่มีการทดสอบ CTS, CTS Verifier หรือ GTS สำหรับฟีเจอร์นี้

ใช้การทดสอบความถูกต้องด้วยตนเองต่อไปนี้เพื่อตรวจสอบฟีเจอร์

  1. ตรวจสอบการแจ้งเตือนสัญญาณไม่สมดุลของอุปกรณ์โทรคมนาคม
  2. ตรวจสอบการควบคุมการเปลี่ยนเส้นทางการเข้าชมระหว่างสถานะไม่สมดุลและ Wi-Fi ปิดอยู่
  3. ตรวจสอบว่าการจราจรของข้อมูลในเครือข่ายปิดอยู่ และมี UI การแจ้งเตือนปรากฏขึ้นระหว่างที่ออกจากระบบ ของสถานะความสมดุล
  4. ตรวจสอบฟังก์ชันการโทรด้วยเสียง/VoLTE ขณะอยู่ในสถานะไม่สมดุล
  5. ตรวจสอบว่าวิดีโอคอลถูกบล็อกในสถานะไม่สมดุล
  6. เมื่อเปิด Wi-Fi ให้ยืนยันว่าผู้ใช้จะเรียกดูเว็บและท่องเว็บต่อได้ การจราจรของข้อมูลไม่เปิดการจราจรของข้อมูลในเครือข่ายในขณะที่ไม่สมดุล
  7. ตรวจสอบฟังก์ชัน Wi-Fi, WFC และบลูทูธในระหว่างที่สัญญาณไม่สมดุล
  8. ปิด Wi-Fi ตรวจสอบ UI ของการแจ้งเตือนที่ไม่สมดุล และดูว่า การเข้าชมเว็บไซต์จะไม่ถูกเปลี่ยนเส้นทางไปยังเว็บไซต์การลงทะเบียนโทรคมนาคม ยืนยัน การคลิกลิงก์ใน UI การแจ้งเตือนจะนำเบราว์เซอร์ไปยังผู้ให้บริการโทรศัพท์มือถือ เว็บไซต์ลงทะเบียน
  9. ตรวจสอบว่าการสลับโหมดบนเครื่องบินไม่รีเซ็ตการควบคุมการจราจร
  10. ตรวจสอบว่าการสลับซิมที่ใช้งานจะรีเซ็ตการจราจรของข้อมูลในเครือข่าย
  11. ตรวจสอบว่าการใส่ซิมที่ไม่สมดุลอีกครั้งจะเป็นการรีสตาร์ทการเปลี่ยนเส้นทางการรับส่งข้อมูล และรับการควบคุมการจราจรของข้อมูลในเครือข่ายอีกครั้ง
  12. ตรวจสอบว่าการรีบูตโทรศัพท์จะเปิดใช้งานการเปลี่ยนเส้นทางอีกครั้งและนำ UI การแจ้งเตือนและตัวควบคุมการรับส่งข้อมูล
  13. แตะที่ "แคปทีฟพอร์ทัล" การแจ้งเตือน ยืนยันเครือข่ายที่ถูกจำกัด สร้างการเชื่อมต่อเพื่อให้ผู้ใช้เพิ่มเครดิตได้
  14. ตรวจสอบว่าการเติมยอดคงเหลือของซิมหรือการเปิดใช้งานอีกครั้งทำให้เกิดปัญหาของเครือข่ายมือถือ การเข้าชมที่จะกู้คืน และลิงก์ Telco และไม่มีการแจ้งเตือนยอดคงเหลือให้ไป ได้เลย
  15. การทดสอบความเรียบร้อยหลังจากการกู้คืนบริการข้อมูล

แอปเริ่มต้นจะแสดงตัวอย่าง 2-3 รายการของการทดสอบ 1 หน่วยและสคริปต์สำหรับทำการทดสอบ (ดู tests/runtest.sh) เมื่อคุณใช้งานเวอร์ชันที่กำหนดเองหรือ คุณควรมิเรอร์การปรับแต่งเหล่านั้นไว้ในการทดสอบ 1 หน่วยโดยเฉพาะ