অ্যান্ড্রয়েডে অ্যাপ্লিকেশন আনইনস্টল করার সময় কীভাবে ভাগ করা পছন্দগুলি সরানো যায়


103

আমার লগইন বিশদ যেমন ব্যবহারকারীর নাম এবং পাসওয়ার্ডগুলি 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আমার অ্যাপ্লিকেশন আনইনস্টল করার সময় আমি এটিকে সরাতে চাই ।


11
এটি অ্যাপ্লিকেশন আনইনস্টল করে অ্যান্ড্রয়েড ওএস দ্বারা স্বয়ংক্রিয়ভাবে সরানো হবে ...
umair.ali

মূল্যবান বিশদটির জন্য ধন্যবাদ
shivcena

আমার মূলের স্যামসাং গ্যালাক্সি 1 (ফ্রয়েও) এ নেই। তবুও রয়ে গেল /dbdata/database/my.package/shared_prefs। জানেন না এটির মূলটি কী মূল ed নতুন ডিভাইসগুলির সাথে পরীক্ষা করতে সক্ষম হয়নি
নীলজোর

উত্তর:


19

SharedPreferences অ্যাপটি আনইনস্টল সহ সর্বদা মুছে ফেলা হয়।

আপনি যখন কোনও অ্যাপ্লিকেশন আনইনস্টল করেন তখন অ্যাপ্লিকেশনটি আপনার অভ্যন্তরীণ মেমরির সমস্ত পরিবর্তনগুলি প্রত্যাহার করা হয়, এর অর্থ আপনার অংশীদারি ফাইলগুলি, অন্যান্য ডেটা ফাইল, ডাটাবেস ফাইল, অ্যাপ্লিকেশন অ্যান্ড্রয়েড ওএস দ্বারা স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়।

সম্পাদিত: 29/04/15: জন্য = 21 এপিআই @ মাহের আবুত্রার উত্তরটি দেখুন


10
নেক্সাস 6 পি-তে কেস নয়, এখনই এটি খুঁজে পেয়েছেন।
অ্যান্ডিওয়েড

1
হ্যাঁ, আমি নেক্সাস 5 এও দেখেছি যে অ্যান্ড্রয়েড 6 দিয়ে চলমান অংশীদারিগুলি মুছছে না। আমি আনইনস্টল পরে ডিভাইস পুনরারম্ভ করার ছিল এবং sharedpreferences এখন চলে গেছে
Santhana

2
এখানে একই সমস্যা সহ গ্যালাক্সি এস 7। আমি আনইনস্টল করে এবং ইনস্টল করার পরে ভাগ করে নেওয়া পছন্দগুলি এখনও সেট করা আছে। সত্যিই বিরক্তিকর কারণ আমি নতুন ইনস্টলেশনগুলি কেবল এটি আনইনস্টল করে পরীক্ষা করতে পারছি না।
ডিপিড্রেনা

2
@ মাহের আবুত্রার একটি সঠিক উত্তর আছে এই উত্তরটি ভুল।
25

1
স্যামসুং এস 8 এস 8 + ডিভাইস পাশাপাশি ভাগ করা পছন্দগুলি মুছবেন না, আমি সম্প্রতি পরীক্ষা করে দেখছি। সত্যই হতাশ স্যামসাং
ব্রজেশ

298

সমস্যা পছন্দগুলি নিয়ে নয়। এটি মারাত্মকভাবে ব্যাকআপ ম্যানেজার ! .. যেহেতু অ্যান্ড্রয়েড -৩৩ ডিফল্ট ব্যাকআপ হিসাবে কোনও টাস্ক হিসাবে অ্যাপ্লিকেশানের ডেটা মেঘের পছন্দ সহ সঞ্চয় করে। পরে যখন আপনি আনইনস্টল করেন তখন নতুন সংস্করণ ইনস্টল করুন আপনি সম্ভবত পুনরুদ্ধার করা পছন্দগুলি ব্যবহার করতে যাচ্ছেন। এটি এড়ানোর জন্য, কেবল এটি আপনার ম্যানিফেস্টে যুক্ত করুন (বা কমপক্ষে ডিবিগ ম্যানিফেস্টে):

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

এটি পড়ুন: http://developer.android.com/guide/topics/data/backup.html

আপনি আরও দেখতে পাবেন যে আপনি যদি লিন্টের নীচে চালনা করেন Android > Lint > Security:

ব্যাকআপ নেভিগেশন লিঙ্ক সতর্কতা

এখানে উল্লেখ করা ভাল যে ব্যাকআপ প্রক্রিয়াটি একটি ব্ল্যাকবক্সের মতো .. আপনি কখনই এটি শুরু করেন তা জানেন না এবং চেকগুলির মধ্যে সময়কাল ... এটি অক্ষম করার জন্য বিকাশের পক্ষে আরও ভাল।

==== আপডেট ====

আপনি সেট allowbackupকরার পরে ম্যানিফেস্ট মার্জার ইস্যু পেতে পারেন false। সমস্যা সমাধানের জন্য যুক্ত করুন:

tools:replace="android:allowBackup"

অ্যাপ্লিকেশন উপাদান। @ শাহজাইন-আলিকে ক্রেডিট

বিকল্পভাবে আপনি অ্যাপ আনইনস্টল করার আগে ক্যাশে সাফ করতে পারেন।

আমি আশা করি এটি সাহায্য করতে পারে।


4
আরে, আমি লক্ষ্য করেছি যে কিছু ডিভাইসে অংশীদারি পছন্দগুলি আনইনস্টল ব্যবহারের পরে ডিভাইসটি পুনরায় চালু করার পরে ধরে রাখা হয়। এটি কি এর সাথে যুক্ত? যদি তাই হয় তবে প্রোডাকশন অ্যাপ্লিকেশনগুলিতে এই পতাকাটি মিথ্যাতে সেট করা কি নিরাপদ? এটি ব্যবহারকারীর উপর প্রভাব ফেলবে?
এলিয়াহু হরউইটজ

এটি উত্পাদনে মিথ্যা সেট করার প্রস্তাব দেওয়া হয়নি .. ব্যবহারকারী আপডেটের সময় সমস্ত পছন্দ হারাবেন .. প্রয়োজনীয় হলে ডেটা মাইগ্রেট করা উত্পাদন থেকে ভাল .. ডিবাগ কোড এবং পছন্দগুলিতে অনেক সময় পরিবর্তন হতে পারে যেখানে ব্যাকআপ বন্ধ করা ভাল
মেহের আবুত্রা

1
কুডোস @ মাহেরআবুথ্রা .. অ্যাপটি আনইনস্টল ও পুনরায় ইনস্টল করার পরে আমি কিছু ভাগ করা পছন্দসই ডেটা ধরে রাখার এই সমস্যার মুখোমুখি হয়েছি। কখনই জানতেন না যে এই জাতীয় কাজ করা হচ্ছে।
সোলরেডার

1
অনেক ধন্যবাদ! তুমি আমার জীবন বাঁচিয়েছ
হ্যাংটোডো

আপডেটের সময় অগ্রাধিকারগুলি সংরক্ষণ করা হয়েছে তবে ম্যানুয়াল আনইনস্টল থেকে সরানো হয়েছে তা আমি কীভাবে নিশ্চিত করব? অবশ্যই এটি প্রত্যাশিত আচরণ হবে।
গ্যানেট

10

এটি আশ্চর্যজনক তবে আমি নিম্নলিখিত উপায়ে সমাধানটি পেয়েছি:

  1. যোগ xmlns:tools="http://schemas.android.com/tools"মধ্যে স্পষ্ট ট্যাগ এর Manifest.xml ফাইল
  2. যোগ android:allowBackup="false"মধ্যে আবেদন ট্যাগ এর Manifest.xml ফাইল
  3. যোগ 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>

এটি সম্পন্ন


2
আপনার ইস্যুতে আপনার মডিউলগুলির মধ্যে একটি ছিল / এআরএএস এন্ড্রয়েড রয়েছে: অনুমতিব্যাকআপ = "সত্য" .. এজন্য আপনাকে এট্রিবিউট সরঞ্জামগুলির সাথে এটি আবার সেট আপ করতে হবে: প্রতিস্থাপন করুন।
মাহের আবুত্রা

যদিও আমি রেখেছি android:allowBackup="false"এবং tools:replace="android:allowBackup"এখনও আমার পছন্দগুলি পেয়েছি, কোন ধারণা সমস্যা কি?
শীলেন্দ্র মাদদা

আমিও একই সমস্যা পাচ্ছি। এই কোড যুক্ত করার পরে প্রিফ্রেন্স পরিষ্কার করতে সক্ষম নয়
পবন সনি

5

সমস্যা পছন্দগুলি নিয়ে নয়।

ঠিক করার জন্য এই কোডটি ব্যবহার করুন ..........

<application
    android:allowBackup="true"
    android:fullBackupContent="false"></application>

যে সাহায্য করেছে। যাইহোক আমরা কেন ভুয়াতে পার্সব্যাকআপ সেট করব না?
শাকলে 21'19


-1

ভাগ করা পছন্দগুলি মার্শমেলো হিসাবে সর্বদা আর মোছা হয় না। আপনার ম্যানিফেস্টে এই লাইনটি যুক্ত করুন: "অ্যান্ড্রয়েড: অনুমতিব্যাকআপ =" মিথ্যা ""

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.