Android Alarm ที่ตั้งค่าไว้โดยใช้ Alarm manager จะถูกทำลายเมื่อแอปถูกปัดออกในอุปกรณ์บางตัว (Le2)

ฉันกำลังพัฒนาแอป Android ซึ่งใช้วิธี setrepeating ของตัวจัดการสัญญาณเตือนเพื่อตั้งค่าการเตือนซ้ำ จากนั้นจึงแสดงการแจ้งเตือนเมื่อได้รับจากเครื่องรับเมื่อสัญญาณเตือนดังขึ้น แต่มีปัญหาเกิดขึ้น
เมื่อฉันปัดแอปออกจากอุปกรณ์เช่น Samsung Galaxy มันทำงานได้ดีและแจ้งเตือนผ่านสัญญาณเตือน แต่ใน Le2 สัญญาณเตือนจะถูกทำลายและด้วยเหตุนี้การแจ้งเตือนจึงไม่แสดง แม้ว่าฉันจะเปิดแอปอีกครั้ง ชุดนาฬิกาปลุกแบบเก่าก็หายไป ฉันตอบไปหลายคำตอบ แต่คำตอบเหล่านั้นก็แค่บอกไป ปัญหาอุปกรณ์ (Le2) ที่บังคับให้แอปหยุดเมื่อปัดนิ้ว ไม่มีคำตอบใดที่ให้วิธีแก้ปัญหาที่ดี


person Vignesh R    schedule 26.04.2017    source แหล่งที่มา
comment
คุณควรคงการเตือนไว้ในฐานข้อมูลเมื่ออุปกรณ์ปิด ... และควรตั้งการเตือนอีกครั้งตามค่าฐานข้อมูล............หรืออาจเป็นปัญหาจากผู้ผลิตอุปกรณ์เมื่อแอปถูกปัดออก   -  person Ko Vartthan    schedule 26.04.2017
comment
อาจเป็นเพราะอุปกรณ์ หากอุปกรณ์มีหน่วยความจำไม่เพียงพอที่จะทำงานพื้นฐานตามระบบปฏิบัติการ อุปกรณ์จะหยุดงานอื่นๆ ที่ใช้หน่วยความจำ   -  person Abdul Kawee    schedule 26.04.2017
comment
ใช่แล้ว มันเป็นปัญหาของอุปกรณ์เนื่องจากผู้ขายในจีนส่วนใหญ่พยายามเพิ่มประสิทธิภาพแบตเตอรี่ และพวกเขาทำสิ่งที่โง่เขลาเหล่านี้ เช่น การบังคับให้หยุดผ่านการปัดจากแอปล่าสุด มีวิธีใดบ้างที่ฉันสามารถเอาชนะสิ่งนี้ได้? @KoVartthan ดูเหมือนจะเป็นตัวเลือกที่ดี แต่มีวิธีอื่นที่ดีกว่าเช่นการใช้บริการหรือไม่?   -  person Vignesh R    schedule 26.04.2017
comment
1. บันทึกการเตือนทั้งหมดของคุณใน db 2. เมื่อการเตือนเสร็จสิ้น ให้ลบออกจาก db 3 เมื่อคุณปัดแอพ การเตือนจะชัดเจน ดังนั้นเมื่อเริ่มแอปพลิเคชันของคุณ ให้ตั้งค่าการเตือนอีกครั้งโดยดึงค่าจาก db .... ....มันอาจช่วยคุณได้.........เล่นกับวิธีกิจกรรมวงจรชีวิตใน Android.....   -  person Ko Vartthan    schedule 26.04.2017
comment
ดูส่วนเกี่ยวกับตัวจัดการสัญญาณเตือนสำหรับโหมด doze....นักพัฒนา .android.com/training/monitoring-device-state/   -  person Opiatefuchs    schedule 26.04.2017
comment
@Opiatefuchs หากปิดโหมด doze ในอุปกรณ์ สัญญาณเตือนจะทำงานในพื้นหลัง ?   -  person Ko Vartthan    schedule 26.04.2017
comment
@Ko .... โดยปกติแล้วฉันจะตอบว่าใช่ แต่จากประสบการณ์ของฉันโหมด doze นั้นไม่สามารถคาดเดาได้และขึ้นอยู่กับอุปกรณ์ว่าจะใช้งานอย่างไร อุปกรณ์บางตัวจะเข้าสู่โหมด doze ทันทีที่หน้าจอดับลง อุปกรณ์บางตัวอาจต้องใช้เวลาพอสมควร ฉันทำการทดลองมากมายกับอุปกรณ์จำนวนมากและฉันพบว่ามันไม่เป็นไปตามกฎที่เข้มงวดเท่าที่ควร ดังนั้นคุณไม่สามารถพูดได้ 100% ว่าอุปกรณ์อยู่ในโหมดงีบหลับหรือไม่   -  person Opiatefuchs    schedule 26.04.2017
comment
เพิ่มเติม: ถัดจากโหมด doze อุปกรณ์บางตัวมีการจัดการพลังงานของตัวเองซึ่งทำงานเพิ่มเติมในโหมด doze ดังนั้นคุณต้องระวังทั้งสองอย่าง การรวมโหมด Doze เข้าด้วยกันเป็นความคิดที่ไม่ดี ควรปกป้องอุปกรณ์จากการสิ้นเปลืองพลังงาน แต่ผู้ใช้ไม่มีทางปิดการใช้งานได้ และนั่นคือจุดที่ทำให้ผู้ใช้และผู้พัฒนาโหมด doze ไม่เป็นมิตร...   -  person Opiatefuchs    schedule 26.04.2017
comment
คุณสมบัติเหล่านี้ผลักดันให้นักพัฒนาประสบปัญหา ............... ขอบคุณสำหรับข้อมูลของคุณ :) @Opiatefuchs   -  person Ko Vartthan    schedule 26.04.2017


คำตอบ (2)


ผู้ผลิตโทรศัพท์บางรายเช่น XiaoMi และ MeiZu ไม่อนุญาตให้แอปพลิเคชันทำงานในพื้นหลัง เว้นแต่ผู้ใช้จะอนุญาต

สำหรับ Xiaomi ผู้ใช้สามารถให้สิทธิ์การเข้าถึงแอปได้โดยเพิ่มลงในรายการ AutoStart หากจำไม่ผิด Le2 มีฟังก์ชันเดียวกันใน "การป้องกันแอป" ใต้แอปตัวจัดการโทรศัพท์

person Fernando Tan    schedule 26.04.2017
comment
ฉันไม่คิดอย่างนั้นเพราะสัญญาณเตือนได้รับการลงทะเบียนกับระบบปฏิบัติการแล้ว - person Muhammad Babar; 26.04.2017
comment
ฉันค่อนข้างแน่ใจว่า XiaoMi ปิดใช้งานบริการพื้นหลังและตัวจัดการสัญญาณเตือนทั้งหมดตามค่าเริ่มต้น เปิดใช้งานเฉพาะบางแอปที่มีชื่อเสียงเช่น วอทส์แอพ แอปอื่นๆ ต้องการให้ผู้ใช้เพิ่มลงในรายการ AutoStart อย่างชัดเจน นี่คือสิ่งที่คล้ายกันใน Le2 และต้องมีวิธีเปิดใช้งานเช่น การตั้งค่าการป้องกันแอป - person Fernando Tan; 26.04.2017
comment
ฉันเคยเห็นพฤติกรรมนี้กับบริการในเบื้องหลัง แต่ไม่แน่ใจว่าได้ปรับเปลี่ยนพฤติกรรมของ Alarms ด้วยหรือไม่ เนื่องจากการเตือนสามารถทำงานได้แม้ว่าแอปจะไม่ทำงานก็ตาม - person Muhammad Babar; 26.04.2017
comment
ฟังดูน่าสนใจ ........ มุมมองของนักพัฒนาก็โอเค แต่ผู้ใช้ทั่วไปจะรู้เรื่องนี้ได้อย่างไรหากสิ่งต่าง ๆ @FernandoTan - person Ko Vartthan; 26.04.2017
comment
@ มูฮัมหมัด...เฟอร์นันโดพูดถูก แม้แต่ Huawei ก็มีสิ่งนี้ เรียกว่า TelephonyManager มีตัวเลือกมุมมองที่คุณต้องอนุญาตแอปของคุณเป็นพิเศษ (ไม่ใช่แค่รายการเดียว) หากไม่เป็นเช่นนั้น แอปของคุณก็ไม่ทำอะไรเลย ฉันไม่รู้ว่าทำไมผู้ผลิตบางรายถึงทำเช่นนี้ ท้ายที่สุดแล้ว เราในฐานะนักพัฒนาก็ถูกผู้ใช้ตำหนิ เพราะพวกเขาคิดว่ามันเป็นความผิดของเรา - person Opiatefuchs; 26.04.2017

เข้าใจแล้ว. ใน Leeco LE2 เพียงไปที่การตั้งค่า -> แบตเตอรี่ -> การจัดการการประหยัดพลังงาน -> การป้องกันแอพ และปิดการใช้งานแอพของคุณเพื่อการทำความสะอาดอัตโนมัติ ใช้งานได้แล้ว เป็นเพราะผู้ผลิตได้ทำสิ่งต่าง ๆ มากมายเพื่อปรับปรุงอายุการใช้งานแบตเตอรี่ และด้วยเหตุนี้จึงกลายเป็นฝันร้ายสำหรับนักพัฒนาที่จะจับวิธีแก้ปัญหา

person Vignesh R    schedule 06.06.2017
comment
นี่อาจเป็นวิธีแก้ปัญหา แต่ยังไม่ใช่สำหรับ LeEco stackoverflow.com/questions/38995469/ - person Ivor; 29.01.2018