कहा जाता है मेरे पास 2 गतिविधियां हैं, प्रत्येक अलग-अलग अनुप्रयोगों में हैं। Activity1 एक बटन क्लिक कर सकते हैं उपयोगकर्ता है और यह इसकी onClick()
विधि में एक अभिप्राय का उपयोग करके दूसरी गतिविधि कॉल:Android onActivityResult को
Intent myIntent = getPackageManager().getLaunchIntentForPackage(com.myProject.Activity2);
startActivityForResult(myIntent, 600);
यह सही ढंग से Activity1 से activity2 की शुरूआत है, लेकिन onActivityResult
Activity1 में बुलाया जाता है onCreate
से पहले activity2 में बुलाया जाता है, बजाय onBackPressed()
में जहां मैंने वापसी का इरादा स्थापित किया था।
यहाँ activity2 के लिए onCreate
विधि है:
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("Stuff", someStuff);
if(getParent()==null){
setResult(Activity.RESULT_OK, intent);
}else{
getParent().setResult(Activity.RESULT_OK, intent);
}
finish();
super.onBackPressed();
}
मेरे AndroidManifest.xml activity2 के लिए निम्नलिखित लक्ष्य फ़िल्टर है:
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
यहाँ activity2 के लिए onBackPressed
विधि के वर्तमान संस्करण है
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
मैंने सत्यापित किया कि मेरा standard
(और singleTask
, आदि नहीं) की सलाह दी गई है here और मेरा अनुरोध कोड नकारात्मक नहीं है जैसा कि here चेतावनी दी गई है। मैंने android:launchMode="singleTop"
भी कोशिश की, लेकिन यह भी नहीं था।
मैं भी बुला नहीं onBackPressed()
में finish()
activity2 के लिए के रूप में और फिर से सुझाव के रूप में here यह बुला (बस super.onBackPressed()
सुझाव here के रूप में के साथ भी) here उल्लेख करने की कोशिश की।
इसके अतिरिक्त मैंने intent.putExtra("Stuff", someStuff);
लाइन को टिप्पणी करने का प्रयास किया क्योंकि यह this person के लिए परेशानी का कारण बन रहा था।
कोई विचार क्या मैं गलत कर रहा हूं?
वापस आने और अपना समाधान पोस्ट करने के लिए बहुत बहुत धन्यवाद। मैं इस समस्या पर लंबे समय से फंस गया हूं और मैंने आपके समाधान में आने वाले सभी समाधानों का भी कोई फायदा नहीं लिया। इसने इसे ठीक कर दिया और अपना दिन बहुत बेहतर तरीके से एक बिल्ली बनाया =) –
मैं startActivityForResult का उपयोग setClassName के बिना या मेरी परियोजनाओं में पूरी तरह से योग्य नामों के बिना करता हूं और वे सभी एक मामले को छोड़कर पूरी तरह से काम करते हैं। इसलिए मैंने उस मामले में आपके समाधान की कोशिश की और इससे कोई फर्क नहीं पड़ता। – user316117
2h !! समाधान – Anthone