मेरे कोड है:एंड्रॉयड getDefaultSharedPreferences
final String eulaKey = "mykey";
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
boolean hasBeenShown = prefs.getBoolean(eulaKey, false);
हमेशा ओएस संस्करण के आधार पर अलग-अलग मान देता है। 2.2, 2.3.4, 3.2, 4.0.3 में परीक्षण - सही मूल्य देता है। लेकिन डिवाइस Zte ब्लेड के साथ 2.3.7 के साथ CianogenMod 7.1 के साथ - परिणाम हमेशा झूठा है। मुझे लगता है कि GetBoolean के लिए डिफ़ॉल्ट मान।
final String eulaKey = "mykey";
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(eulaKey, true);
editor.commit();
किसी को भी किसी भी विचार है:
यहाँ कोड लेखन बूलियन है?
अद्यतन: कोड के पिछले संस्करण के साथ अपने वर्तमान कोड की तुलना करना - कोड में कोई अंतर नहीं है। केवल अंतर प्रकट होता है: कोड काम करता है minVersion = 8 और targetVersion = 8 के साथ ठीक है अब मैं minmion = 8 और लक्ष्य = 13/Admob/के कारण संकलित कर रहा हूं। शायद कुछ एपीआई बदल गए, लेकिन मुझे इस पर कुछ भी नहीं मिला।
समाधान: - शॉर्टकट से और मेनू से स्टार्टिंग ऐप मुझे अलग-अलग डिफ़ॉल्ट शेरफेर देता है। मेरे कोड से DefaultSharedPreferences को हटाने के बाद - यह सही काम करता है। मैं सिर्फ इतना नहीं कह सकता: लोग शॉर्टकट नहीं बनाते हैं, इसलिए मुझे कोड बदलना पड़ा। जिस स्थिति में
final String eulaKey = "mykey";
Context mContext = getApplicationContext();
mPrefs = mContext.getSharedPreferences("myAppPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(eulaKey, true);
editor.commit();
आप अपनी प्राथमिकताओं का नाम (myAppPrefs) फ़ाइल और इसे करने के लिए उपयोग persmission नियंत्रित कर सकते हैं निर्दिष्ट कर सकते हैं:
यह की के लिए कुछ उपकरणों को बेतरतीब ढंग से SharedPreferences डेटा खोने के लिए अनसुना नहीं है। उदाहरण के लिए http://code.google.com/p/android/issues/detail?id=14359 देखें। –
क्या यह जानकारी केवल getDefaultSharedPreferences से संबंधित है? क्या आप getSharedPreferences ("myAppPrefs", Context.MODE_PRIVATE) के बारे में समान समस्याएं जानते हैं; ? – Kostadin
डिफ़ॉल्ट से getSharedPreferences के साथ प्रयास करें। यह getPreferenceScreen() में – png