2015-10-29 4 views
6

मैं "पुराने" GCM कार्यान्वयन जहां नमूना कोड निम्न था को लागू किया है:को शामिल न करें Android 6.0 स्वत: बैकअप के साथ विशिष्ट sharedpreference कुंजी

public static final String PROPERTY_REG_ID = "registration_id"; 
private SharedPreferences getGCMPreferences(Context context) { 
    return context.getSharedPreferences(SampleApp.class.getSimpleName(), 
      Context.MODE_PRIVATE); 
} 
... 
String registrationId = prefs.getString(PROPERTY_REG_ID, ""); 
यह कहता है कि आप इस को बाहर रखना चाहिए एंड्रॉयड 6.0 में नया बैकअप प्रणाली के साथ

कुंजी लेकिन बाहर निकालने के प्रारूप डॉक्स: http://developer.android.com/training/backup/autosyncapi.html

वास्तव में नहीं लगता है इंगित करने के लिए कैसे आपको लगता है कि कह छोड़कर एक sharedpreference बाहर कर सकते हैं:

sharedpref: एक साझाप्रणाली ऑब्जेक्ट निर्दिष्ट करता है कि getSharedPreferences() विधि रिटर्न देता है।

कोई जानकारी प्राप्त नहीं है() मेरे ज्ञान के लिए कोई पैरामीटर नहीं है?

मैंने कोशिश की:

<?xml version="1.0" encoding="utf-8"?> 
<full-backup-content> 
    <exclude domain="sharedpref" path="registration_id"/> 
</full-backup-content> 

लेकिन उस के बाद से मैं यह नहीं दर्शाया है जो sharedpreference फ़ाइल इसे से बाहर रखना चाहिए स्वाभाविक रूप से काम करने के लिए नहीं मालूम था। किसी ने सफलतापूर्वक इसे कार्यान्वित किया?

उत्तर

9

बहिष्करण साझा प्राथमिकता फ़ाइल के लिए है, फ़ाइल के भीतर एक भी कुंजी नहीं है।

(अपने उदाहरण में, अपने फ़ाइलनाम SampleApp.class.getSimpleName() के माध्यम से मिल गया है।)

टिप्पणी बताते हैं के रूप में, आप एक पूर्ण फ़ाइल नाम निर्दिष्ट करते हैं, तो ".xml" फाइल एक्सटेंशन शामिल करने के लिए जब आप डाल याद रखने की आवश्यकता निर्देश को बाहर करने में नाम।

+3

मैं सिर्फ यह जोड़ना चाहता हूं कि यह पर्याप्त नहीं था। मुझे इसे काम करने के लिए अंत में एक्सटेंशन ".xml" जोड़ना पड़ा। संदर्भ को बाहर करने के उदाहरण के लिए .getSharedPreferences ("test", Context.MODE_PRIVATE), मुझे लिखना था <डोमेन = "sharedpref" path = "test.xml" /> – Esteam

+0

@Esteam एक ही चीज़ [जैसा कि टिप्पणी] (https://code.google.com/p/android-developer-preview/issues/detail?id=2569#c1), वह 'gcm' साझा संदर्भ फ़ाइल को बाहर करने का प्रयास करता है और पथ के रूप में' gcm.xml' जोड़ा जाता है । – Mohammad

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