android एंड्रॉइड में एप्लिकेशन अनइंस्टॉल करते समय साझा वरीयता को कैसे हटाएं




android-preferences (4)

मेरे पास साझा किए गए विवरणों के माध्यम से उपयोगकर्ता नाम और पासवर्ड जैसे लॉगिन विवरण सहेजने के लिए एक एंड्रॉइड एप्लिकेशन है जो ठीक काम करता है, लेकिन मेरे एप्लिकेशन को अनइंस्टॉल करते समय मुझे अपने सभी उपयोग किए गए SharedPreferences किए गए SharedPreferences को हटाने की आवश्यकता है। यह कैसे करना है?

SavePreferences("one ", "");
SavePreferences("two", "");
LoadPreferences();

 private void SavePreferences(String key, String value){
    sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, value);
    editor.commit();
   }

 private void LoadPreferences(){
    sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE);
    String strSavedMem1 = sharedPreferences.getString("MEM1", "");
    String strSavedMem2 = sharedPreferences.getString("MEM2", "");   
   } 

जब मैं अपना एप्लिकेशन अनइंस्टॉल करता हूं तो मैं इस SharedPreferences को हटाना चाहता हूं।


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

<application ...
        android:allowBackup="false">
...
</application>

इसे पढ़ें: http://developer.android.com/guide/topics/data/backup.html

आप यह भी देखेंगे कि यदि आप Android > Lint > Security तहत लिंट चलाते हैं:

यहां उल्लेख करना अच्छा है कि बैकअप की प्रक्रिया ब्लैकबॉक्स की तरह है .. आपको नहीं पता कि यह कब शुरू होता है, और चेक के बीच की अवधि ... इसे अक्षम करने के लिए विकास के लिए बेहतर है।

वैकल्पिक रूप से आप ऐप को अनइंस्टॉल करने से पहले कैश साफ़ कर सकते हैं।

मुझे आशा है कि मदद कर सकता है।


ऐप अनइंस्टॉल के साथ साझा किए गए SharedPreferences हमेशा हटा दिए जाते हैं।

जब आप किसी भी एप्लिकेशन को अनइंस्टॉल करते हैं तो आपके आंतरिक मेमोरी में किए गए सभी बदलावों को निरस्त कर दिया जाता है, इसका मतलब है कि आपकी साझा पेंशन फाइलें, अन्य डेटा फाइलें, डेटाबेस फ़ाइल, एप्लिकेशन एंड्रॉइड ओएस द्वारा स्वचालित रूप से हटा दिया जाता है।

संपादित: 2 9/04/15: के लिए> = 21 एपीआई @ माहेर अबुथरा के जवाब का संदर्भ लें


यह अजीब है लेकिन मुझे समाधान निम्न तरीके से मिला:

  1. xmlns:tools="http://schemas.android.com/tools" जोड़ें xmlns:tools="http://schemas.android.com/tools" Manifest.xml फ़ाइल के मेनिफेस्ट टैग में
  2. android:allowBackup="false" जोड़ें android:allowBackup="false" Manifest.xml फ़ाइल के अनुप्रयोग टैग में अनुमति android:allowBackup="false"
  3. tools:replace="android:allowBackup" जोड़ें tools:replace="android:allowBackup" Manifest.xml फ़ाइल के एप्लिकेशन टैग में tools:replace="android:allowBackup" को tools:replace="android:allowBackup"

Manifest.xml फ़ाइल इस तरह दिखनी चाहिए।

    <?xml version="1.0" encoding="utf-8"?><!--suppress ALL -->
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.package">

        // Other code

    <application
        android:name="com.package.Application"
        android:allowBackup="false"
        android:hardwareAccelerated="true"
        android:icon="@drawable/appicon"
        android:label="@string/application_name"
        android:largeHeap="true"
        android:theme="@style/AppTheme"
        tools:replace="android:allowBackup">

        <activity
            android:name="com.package.SplashActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/application_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        // Other code

    </application>

    </manifest>

हॊ गया।


सेटबैक सेट करना = "झूठा" बैकअप और पुनर्स्थापित दोनों के बाहर एक एप्लिकेशन का चयन करता है।





android-preferences