नोट: इस उत्तर पर इतना ध्यान गया है, कि मुझे इसे अद्यतन करने की आवश्यकता है। चूंकि मूल उत्तर पोस्ट किया गया था, @dzeikei की टिप्पणी ने मूल उत्तर के रूप में लगभग ध्यान दिया है। तो यहाँ 2 संभावित समाधान हैं:
1. यदि आपके बैकग्राउंड थ्रेड में किसी Contextऑब्जेक्ट का संदर्भ है :
सुनिश्चित करें कि आपके बैकग्राउंड वर्कर थ्रेड्स का संदर्भ ऑब्जेक्ट तक पहुंच सकता है (एप्लिकेशन संदर्भ या सेवा संदर्भ हो सकता है)। तो बस पृष्ठभूमि कार्यकर्ता धागा में ऐसा करते हैं:
// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(context.getMainLooper());
Runnable myRunnable = new Runnable() {
@Override
public void run() {....} // This is your code
};
mainHandler.post(myRunnable);
2. यदि आपके बैकग्राउंड थ्रेड में Contextऑब्जेक्ट नहीं है (या जरूरत है)
(@dzeikei द्वारा सुझाया गया):
// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(Looper.getMainLooper());
Runnable myRunnable = new Runnable() {
@Override
public void run() {....} // This is your code
};
mainHandler.post(myRunnable);