2013-12-11 6 views
6

मेरा ऐप, पृष्ठभूमि में चल रहा है, कुछ बिंदु पर उपयोगकर्ता के प्रवाह को उद्देश्य से बाधित करने के लिए गतिविधि प्रदर्शित करता है। मेरी गतिविधि एक नया कार्य शुरू करती है, जो अग्रभूमि में होने पर "हालिया कार्य" सूचियों में दिखाई देती है। क्या इसे किसी भी तरह से रोका जा सकता है? android:excludeFromRecents सेट करना काम नहीं करता है - रोक दिए जाने के बाद ही "हालिया कार्य" में गतिविधि प्रस्तुत नहीं की जाती है।हाल के कार्यों से वर्तमान गतिविधि को बाहर निकालें

प्रकट की तरह दिखता है:

<activity 
    android:name="com.example.recenttasks.MainActivity" 
    android:excludeFromRecents="true"> 
</activity> 

और गतिविधि इस तरह से शुरू कर दिया गया है:

@Override 
public void onReceive(Context context, Intent intent) { 
    Intent i = new Intent(context, MainActivity.class); 
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(i); 
} 

उत्तर

2

आप प्रकट पर्याप्त है कि यह परिभाषित कर रहे हैं, लेकिन यह नहीं आ रहा है ..

ठीक ..try इस ध्वज को अपने Intnet पर भी जोड़ें और गतिविधि शुरू करें ..

intnet.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
+0

क्षमा करें, मदद नहीं की। – lstipakov

2

मुख्य बात आप का उल्लेख किया है, जबकि अग्रभूमि

में किया जा रहा

में "हाल के कार्य" सूचियों में प्रकट होता है मुझे लगता है कि आपको लगता है कि व्यवहार को बदल नहीं सकते है। मैंने अभी अपने ऐप पर परीक्षण किया और वही बात होती है। अगर मैं अग्रभूमि में अपनी गतिविधि करते समय "हालिया कार्य" बटन दबाता हूं, तो यह वहां सूचीबद्ध दिखाई देता है। जिस क्षण मैं इसे किसी अन्य गतिविधि या मेरे फोन की मुख्य स्क्रीन पर ले जाता हूं, गतिविधि अब सूचीबद्ध नहीं है। बिल्ट-इन कि हाल के Android संस्करण के साथ आता है और जब एक नया अलार्म शुरू हो रहा है एक ही व्यवहार वहाँ मौजूद है DeskClock एप्लिकेशन

मैं भी इस पर परीक्षण किया गया। ध्यान दें कि उस ऐप की AlarmAlertFullscreen गतिविधि में आपके प्रश्न में वर्णित वही पैरामीटर हैं।

मुझे यकीन है कि आप इस को नाकाम कर सकते हैं या फिर आप एक बार यह ध्यान केंद्रित खो देता है के बाद से गतिविधि अब सूचीबद्ध नहीं है, पहली जगह में करने की आवश्यकता होगी नहीं हूँ।

+0

मैं UsbDebuggingActivity के व्यवहार को अनुकरण करने की कोशिश कर रहा हूं, जो 4.x डिवाइस पर पॉप अप करता है जब आप पहली बार एडीबी के माध्यम से कनेक्ट करते हैं। ऐसा लगता है कि "हालिया ऐप्स" पॉप अप होने पर गतिविधि स्वयं को नष्ट कर देती है (भले ही मैं इसे कोड से अभी तक नहीं देख पा रहा हूं http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android /android/4.2_r1/com/android/systemui/usb/UsbDebuggingActivity.java/#UsbDebuggingActivity) – lstipakov

+1

ठीक है, यह प्रकट में 'finishOnCloseSystemDialogs = true' का उपयोग करता है। मुझे शायद वही करना चाहिए। – lstipakov

+0

@Stipa हमें अपडेट करने के लिए वापस आएं। :) –

0

नीचे दिए गए कोड का उपयोग करें और फिर आपकी मुख्य गतिविधि हाल के कार्यों में दिखाई नहीं देगी।

Intent i = new Intent(context, MainActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
i.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
i.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); 
context.startActivity(i); 
संबंधित मुद्दे