प्रश्न शीर्षक जटिल लगता है लेकिन मेरी स्थिति यहां है।ऑनक्रेट() को अनुमति सेटिंग्स बदलने के बाद हालिया कार्य से फिर से खोलने पर कॉल किया जाता है
मेरे पास एक गतिविधि के भीतर एक नक्शा खंड है। सरल। मानचित्र के प्रदर्शन की अनुमति देने के लिए संग्रहण अनुमति चालू करें, ठीक काम करता है। होम बटन दबाकर ऐप को पृष्ठभूमि में रखता है, फिर स्टोरेज अनुमति बंद कर देता है और ऐप को हालिया कार्य, ऐप क्रैश से खोलता है।
समस्या गतिविधि होस्ट के रेस्यूम() पर कॉल करने की बजाय समस्या है, ऑनक्रेट() को मेजबान गतिविधि के साथ-साथ मानचित्र खंड के क्रिएटिव व्यू() पर भी कहा जाता है। इस प्रकार यह अपवाद फेंक रहा है।
ऐसा लगता है कि अनुमति बदलने पर ऐप प्रक्रिया की मौत हो जाती है और इस प्रकार गतिविधि को फिर से बनाया जाता है।
09-24 14:42:55.071: E/AndroidRuntime(12918): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
09-24 14:42:55.071: E/AndroidRuntime(12918): Caused by:
java.lang.NullPointerException: Attempt to write to field 'int android.support.v4.app.Fragment.mNextAnim' on a null object reference
09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:718)
09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
09-24 14:42:55.071: E/AndroidRuntime(12918): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548)
super.onStart() से गतिविधि
जीवन चक्र विधियों को परिवर्तित नहीं किया गया है। क्या हो रहा है यह गतिविधि सिस्टम द्वारा नष्ट कर दी गई थी। यही कारण है कि आपकी गतिविधि को फिर से बनाया गया है और क्यों क्रेट को बुलाया जा रहा है। – eddiecubed
क्या आप कह रहे हैं कि अनुमति परिवर्तन के कारण गतिविधि नष्ट हो गई है? क्योंकि ऑनस्यूम() को सामान्य रूप से कहा जाता है, उस क्रिएट() को उस गतिविधि के लिए अनुमति के बदले में कहा जाता है, मेरे मामले में गतिविधि में नक्शा खंड। – WenChao
जब कोई अनुमति परिवर्तन होता है तो गतिविधि हमेशा – greywolf82