ต้องจัดการข้อยกเว้นที่ไม่ถูกจับและส่งไฟล์บันทึก
อัปเดต: โปรดดูโซลูชัน "ยอมรับ" ด้านล่าง เมื่อแอปของฉันสร้างข้อยกเว้นที่ไม่สามารถจัดการได้แทนที่จะยุติเพียงแค่ฉันต้องการเปิดโอกาสให้ผู้ใช้ส่งไฟล์บันทึกก่อน ฉันตระหนักดีว่าการทำงานมากขึ้นหลังจากได้รับข้อยกเว้นแบบสุ่มนั้นมีความเสี่ยง แต่เดี๋ยวก่อนสิ่งที่แย่ที่สุดคือแอปขัดข้องและไฟล์บันทึกไม่ได้รับการส่ง นี่กลายเป็นเรื่องยากกว่าที่ฉันคาดไว้ :) สิ่งที่ได้ผล: (1) การดักจับข้อยกเว้นที่ไม่ถูกจับ (2) การแยกข้อมูลบันทึกและการเขียนลงในไฟล์ สิ่งที่ยังใช้ไม่ได้: (3) เริ่มต้นกิจกรรมเพื่อส่งอีเมล ท้ายที่สุดฉันจะมีกิจกรรมอื่นเพื่อขออนุญาตของผู้ใช้ หากฉันได้รับกิจกรรมอีเมลที่ใช้งานได้ฉันไม่คาดหวังว่าอีกฝ่ายจะมีปัญหามากนัก ปมของปัญหาคือข้อยกเว้นที่ไม่สามารถจัดการได้ถูกจับในคลาสแอปพลิเคชันของฉัน เนื่องจากนั่นไม่ใช่กิจกรรมจึงไม่ชัดเจนว่าจะเริ่มกิจกรรมด้วย Intent ได้อย่างไร ACTION_SEND นั่นคือโดยปกติในการเริ่มกิจกรรมหนึ่งจะเรียก startActivity และดำเนินการต่อด้วย onActivityResult วิธีการเหล่านี้รองรับโดย Activity แต่ไม่รองรับ Application ข้อเสนอแนะเกี่ยวกับวิธีการทำสิ่งนี้หรือไม่? นี่คือสนิปโค้ดบางส่วนเพื่อเป็นแนวทางเริ่มต้น: public class MyApplication extends Application { defaultUncaughtHandler = Thread.getDefaultUncaughtExceptionHandler(); public void onCreate () { Thread.setDefaultUncaughtExceptionHandler (new …