2
บริการเบื้องหน้าถูกฆ่าโดย Android
อัปเดต :ฉันไม่พบวิธีแก้ปัญหาที่แท้จริง สิ่งที่ฉันได้เกิดขึ้นคือวิธีการเชื่อมต่อกับอุปกรณ์บลูทู ธ ก่อนหน้าโดยอัตโนมัติทุกครั้งที่การเชื่อมต่อขาดหายไป มันไม่เหมาะ แต่ดูเหมือนว่าจะทำงานได้ดีพอสมควร ฉันชอบที่จะได้ยินคำแนะนำเพิ่มเติมเกี่ยวกับเรื่องนี้ ฉันมีปัญหาเดียวกันกับในคำถามนี้: บริการถูกฆ่าในขณะที่กด Wake Lock และหลังจากเรียก startForegroundรวมถึงอุปกรณ์ (Asus Transformer) ระยะเวลาก่อนหยุดให้บริการ (30-45 นาที) การใช้งาน ล็อคการปลุกการใช้ startForeground () และความจริงที่ว่าปัญหาจะไม่เกิดขึ้นหากแอปเปิดอยู่เมื่อหน้าจอดับลง แอปของฉันรักษาการเชื่อมต่อบลูทู ธ กับอุปกรณ์อื่นและส่งข้อมูลระหว่างทั้งสองดังนั้นจึงต้องเปิดใช้งานตลอดเวลาเพื่อฟังข้อมูล ผู้ใช้สามารถเริ่มและหยุดบริการได้ตามต้องการและในความเป็นจริงนี่เป็นวิธีเดียวที่ฉันได้ดำเนินการเพื่อเริ่มหรือหยุดบริการ เมื่อบริการรีสตาร์ทการเชื่อมต่อบลูทู ธ กับอุปกรณ์อื่นจะขาดหายไป ตามคำตอบในคำถามที่เชื่อมโยง startForeground () "ลดโอกาสที่บริการจะถูกฆ่า แต่ไม่ได้ป้องกัน" ฉันเข้าใจว่าเป็นเช่นนั้นอย่างไรก็ตามฉันได้เห็นตัวอย่างของแอพอื่น ๆ ที่ไม่มีปัญหานี้ (เช่นทาซเคอร์) ประโยชน์ของแอปของฉันจะลดลงอย่างมากหากไม่มีความสามารถในการให้บริการจนกว่าผู้ใช้จะหยุดทำงาน มีวิธีใดบ้างที่จะหลีกเลี่ยงสิ่งนี้ ??? ฉันเห็นสิ่งนี้ในบันทึกของฉันเมื่อใดก็ตามที่บริการหยุด: ActivityManager: No longer want com.howettl.textab (pid …