मैं नीचे दिए गए कोड में एक InetAddress की जांच करने के लिए AsyncTask का उपयोग करना चाहता हूं। परिवर्तनीय tempInet एक वैश्विक चर है जो इंगित करता है कि वेबसाइट संपर्क करने योग्य थी या नहीं।एक निश्चित समय के बाद एंड्रॉइड AsyncTask को कैसे रद्द करें? (उदाहरण के लिए 10 सेकंड)
मैं कोड के साथ AsyncTask शुरू करता हूं ... नया InetAsyncTask() निष्पादित करें ("www.facebook.com");
मेरी समस्या यह है कि मैं AsyncTask को 10 सेकंड के बाद खुद को रद्द करना चाहता हूं।
कुछ अन्य प्रश्न प्राप्त करें (10, TimeUnit.SECONDS) विधि का उपयोग करने का सुझाव देते हैं। मैं यह करना चाहता हूं लेकिन यह सुनिश्चित नहीं करता कि प्राप्त विधि कहां/कैसे रखी जाए। निष्पादित करने के साथ? DoInBackground विधि में?
इसके अलावा, क्या मिलता है() विधि मुख्य धागे को अवरुद्ध करता है? अगर ऐसा होता है, तो इसका क्या मतलब है?
किसी भी मदद की सराहना की।
class InetAsyncTask extends AsyncTask<String, String, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
try {
InetAddress.getByName("www.facebook.com");
return true;
} catch (UnknownHostException e) {
return false;
}
} //end doInBackground function
protected void onPostExecute(Boolean... result) {
tempInet = result[0];
}
} //end class
संबंधित प्रश्न
Android - Setting a Timeout for an AsyncTask?
stop async task after 60 second
Android डेवलपर AsyncTask प्रलेखन
http://developer.android.com/reference/android/os/AsyncTask.html