इसे आजमाएं:
private class FetchData extends AsyncTask<Context, Void, Void> {
protected Long doInBackground(Context... c) {
Context myContext = c[0];
// Do your things here....
}
protected void onPostExecute() {
// Insert your post execute code here
}
}
आप इस AsyncTask को निम्न पंक्ति से कॉल कर सकते हैं - यह मानते हुए कि आप किसी गतिविधि में हैं:
new FetchData().execute(this);
यदि आप अपने AsyncTask मंदी को नहीं बदल सकते हैं, तो आप एक स्थिर चर का उपयोग करने का प्रयास कर सकते हैं - हालाँकि यह AsyncTask मंदी की तरह कुशल और सुंदर नहीं है। इसे आजमाएं:
Class myStatic{
private static Context mContext;
static public void setContext(Context c);
mContext = c;
}
static public Context getContext(){
return mContext;
}
}
और अपने मुख्य कोड में, AsyncTask को कॉल करने से पहले, इसे कॉल करें:
myStatic.setContext(this);
अपने AsyncTask की doInBackground विधि में, इसे जोड़ें:
Context myContext = myStatic.getContext();