xml

5

में वरीयता स्क्रीन के लिए इरादे-झंडे सेट करें PreferencesActivity का दृश्य एक्सएमएल के माध्यम से पॉप्युलेट किया गया है और उस एक्सएमएल में मैंने सिस्टम की सिंक-वरीयताओं पर नेविगेट करने के लिए PreferencesScreen शामिल किया है। यह नीचे दिए गए कोड का उपयोग कर ठीक काम करता है।xml

मेरी समस्या/प्रश्न यह है कि जब मैंने सिंक-प्राथमिकताएं खोली, तो होम-स्क्रीन खोलें और फिर मेरी ऐप खोलें, सिंक-सेटिंग्स खोले जाएंगे, क्योंकि वे ढेर के शीर्ष पर झूठ बोलते हैं। क्या स्क्रीन को यह बताने के लिए xml में NEW_TASK-flag को शामिल करने की संभावना है कि यह एक नया कार्य है और मेरे ऐप के ढेर से जुड़ा नहीं है?

<PreferenceScreen 
     android:title="@string/preferences_activity_syncaccounts_title" 
     android:summary="@string/preferences_activity_syncaccounts_summary" 
     android:dialogTitle="@string/preferences_activity_syncaccounts_title"> 
     <intent 
      android:action="android.settings.SYNC_SETTINGS"/> 
    </PreferenceScreen> 

उत्तर

1

आप android सेट कर सकते हैं: launchMode = "singleInstance"। अपने कोड उदाहरण में यह होगा:

<PreferenceScreen 
     android:title="@string/preferences_activity_syncaccounts_title" 
     android:summary="@string/preferences_activity_syncaccounts_summary" 
     android:dialogTitle="@string/preferences_activity_syncaccounts_title"> 
    <intent 
     android:action="android.settings.SYNC_SETTINGS" 
     android:launchMode="singleInstance" /> 
    </PreferenceScreen> 

ए 'singleInstance "गतिविधि, दूसरे हाथ पर, अपने कार्य का हिस्सा बनने का कोई अन्य गतिविधियों की अनुमति देता है। यह कार्य में एकमात्र गतिविधि है। यदि यह एक और गतिविधि शुरू करता है, तो उस गतिविधि को एक अलग कार्य को सौंपा गया है - जैसे कि FLAG_ACTIVITY_NEW_TASK इरादे में था।

आप यहां और अधिक पढ़ सकते हैं: http://developer.android.com/guide/topics/manifest/activity-element.html#lmode