2010-04-22 17 views
6

तो मेरे पास मेरे आवेदन में गतिविधियों की एक बड़ी भूलभुलैया है। मुझे क्या करने की ज़रूरत है, यह है कि जब उपयोगकर्ता सिस्टम में लॉग इन करता है, तो गतिविधि इतिहास को साफ़ किया जाना चाहिए। जब मैं एक नई गतिविधि शुरू करता हूं तो मैं केवल फिनिश() का उपयोग नहीं कर सकता, क्योंकि मैं चाहता हूं कि जब तक उपयोगकर्ता लॉग इन नहीं करता तब तक गतिविधियों को इतिहास प्राप्त करना चाहिए। गतिविधि शुरू करते समय मेरे पास विभिन्न झंडे के साथ प्रयोग है, लेकिन मुझे कोई सफलता नहीं मिली है। कोई विचार?प्रारंभ गतिविधि और स्पष्ट गतिविधि इतिहास

चीयर्स,

उत्तर

2

मैं भी hax मैं वर्तमान में मेरी समस्या हल करने के लिए उपयोग कर रहा हूँ प्रकट कर सकता है। पर "पूर्व लॉग इन में" गतिविधियों, मैं इस प्रकट में स्थापित किया है:

android:noHistory="true" 

प्रत्येक गतिविधि में तो मैं इस कोड है:

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     Intent intent = new Intent(MyActivity.this, ParentActivity.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
     startActivity(intent); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 

} 

FLAG_ACTIVITY_NO_ANIMATION केवल API स्तर के साथ फोन पर काम करता है 5 या उच्चतर, लेकिन यह क्या करता है कि "खुली नई गतिविधि" -नीमेशन पर, "पिछली गतिविधि पर वापस जा रहा है" -निमेशन खेला जाता है (कम से कम Droid और नेक्सस पर)। यह भ्रमित करने वाली धारणा को रोकता है कि जब उपयोगकर्ता बैक-बटन दबाता है तो एक नई गतिविधि शुरू होती है।

यह समाधान सही नहीं है। एपीआई-स्तरीय निचले फोन वाले फोन पर 5 एनिमेशन गलत हो जाते हैं। इसके अलावा, यह सुपर साफ नहीं है और मुझे पसंद है तो अधिक कोड की आवश्यकता है। फिर भी, यह काम करता है ...

+0

यह पूरी तरह से मेरे लिए काम किया जब अनुकरण करने के लिए निश्चित रूप से (जो है एक पिछली गतिविधि पर "वापस जा", कोशिश कर उपयोग कर सकते हैं, वास्तव में नहीं क्या आप वहां मौजूद हैं)। धन्यवाद! मैं इसे डिफ़ॉल्ट एनीमेशन आईडी का उपयोग करके पूरा करने जा रहा था, लेकिन, मेरे आश्चर्य के लिए, वे सार्वजनिक रूप से उपलब्ध नहीं हैं। जाओ पता लगाओ। – dmon

+1

यदि आप वास्तव में कुंजीडाउन का उपयोग कर रहे हैं, तो आपको शायद सुपर – njzk2

+0

पर कॉल करने के बजाय सत्य वापस करना चाहिए, मैंने अपना जवाब सही कर दिया है। – pgsandstrom

1

आप 65536 बजाय Intent.FLAG_ACTIVITY_NO_ANIMATION पहले के संस्करणों

संबंधित मुद्दे