मैं एक एंड्रॉइड गतिविधि उपकरण परीक्षण लिखने की कोशिश कर रहा हूं जो रोकता है (onPause()
, फिर onStop()
) और वर्तमान गतिविधि को पुनरारंभ करता है। मैंनेएंड्रॉइड इंस्ट्रूमेंटेशन टेस्ट में किसी गतिविधि को कैसे रोकें और पुनरारंभ करें?
activity.finish();
activity = getActivity();
... लेकिन यह ठीक से काम नहीं कर रहा है।
परीक्षण का लक्ष्य यह मानना है कि फॉर्म डेटा onPause()
विधि के दौरान संग्रहीत किया जाता है और onStart()
विधि के दौरान फिर से पढ़ा जाता है। यह मैन्युअल रूप से करते समय काम करता है, लेकिन परीक्षण विफल रहता है, जिससे मैं निष्कर्ष निकालता हूं कि activity.finish()
एक गतिविधि को रोकने और पुनरारंभ करने का गलत तरीका प्रतीत होता है।
संपादित करें: मेरा मुख्य समस्या एक तुल्यकालन मुद्दा रहा है लगता है। गतिविधि को पुनरारंभ करने के बाद, परीक्षण धावक सभी ईवेंट हैंडलरों को समाप्त करने की प्रतीक्षा नहीं करता था। निम्नलिखित लाइन परीक्षा निष्पादन रुकती है जब तक गतिविधि निष्क्रिय है:
getInstrumentation().waitForIdleSync()
कि इसके अलावा, जीवन चक्र के बारे में अधिक बहुमूल्य जानकारी के लिए स्वीकार कर जवाब पर एक नज़र डालें।
ठीक से काम नहीं करता है? – yorkw
@yorkw मैंने प्रश्न अपडेट किया, टिप्पणी के लिए धन्यवाद। –
जब आप कहते हैं, "इसे मैन्युअल रूप से कर रहे हैं?" –