में टोस्ट नहीं दिख रहा है, मैं इस कोड का उपयोग किसी भी अपूर्ण अपवाद को संभालने के लिए कर रहा हूं जो मेरे एप्लिकेशन को क्रैश करने का कारण बन सकता है।UnCaughtExceptionHandler
public class ExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler {
private final Context myContext;
public ExceptionHandler(Context context) {
myContext = context;
}
public void uncaughtException(Thread thread, Throwable exception) {
Toast.makeText(myContext,
"The application has crashed, and a report is sent to the admin",
Toast.LENGTH_SHORT).show();
StringWriter stackTrace = new StringWriter();
exception.printStackTrace(new PrintWriter(stackTrace));
System.err.println(stackTrace);// You can use LogCat too
Intent intent = new Intent(myContext, CrashActivity.class);
myContext.startActivity(intent);
Process.killProcess(Process.myPid());
System.exit(10);
}
}
जब मैं एक ज्ञात लेकिन न आया हुआ अपवाद के साथ इसे चलाने के (सिर्फ परीक्षण करने के लिए), गतिविधि "CrashActivity" कहा जाता है लेकिन टोस्ट जो यह पहले आना चाहिए नहीं दिखा रहा है।
वास्तव में मैं केवल टोस्ट दिखाना चाहता था और फिर myContext.finish() को कॉल करना चाहता था; क्रैशएक्टिविटी पर जाने के बजाए। लेकिन उस टोस्ट दिखाई नहीं दे रहा है।
मैं कहाँ गलत हूँ?
मैं एंड्रॉइड प्रोग्रामर नहीं हूं लेकिन मैंने जो पढ़ा है, उससे टोस्ट को यूआई थ्रेड पर कॉल नहीं किया जाना चाहिए? आप किस मामले में यूआई थ्रेड पर इसका आह्वान कर रहे हैं? मैं अनुमान लगाता हूं कि शायद आपने पहले ही इस बारे में सोचा था। –
हाँ आप सही हैं..मैं ui धागे पर टोस्ट नहीं बुला रहा हूं :( –