Programing

Android에서 응용 프로그램을 제거하는 동안 공유 기본 설정을 제거하는 방법

lottogame 2020. 8. 22. 11:29
반응형

Android에서 응용 프로그램을 제거하는 동안 공유 기본 설정을 제거하는 방법


나는 그것을 통해 사용자 이름 및 암호와 같은 로그인 세부 정보를 저장하는 안드로이드 응용 프로그램이 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내 응용 프로그램을 제거 할 때 이것을 제거하고 싶습니다 .


문제는 선호도가 아닙니다. 과감하게 백업 관리자입니다 ! .. 기본적으로 android-23 이후 작업으로 백업은 환경 설정을 포함한 앱의 데이터를 클라우드에 저장합니다. 나중에 제거하고 새 버전을 설치할 때 복원 된 기본 설정을 사용하게 될 것입니다. 이를 방지하려면 다음을 매니페스트에 추가하거나 적어도 매니페스트를 디버그하기 만하면됩니다.

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

이것을 읽으십시오 : http://developer.android.com/guide/topics/data/backup.html

Lint를 Android > Lint > Security다음에서 실행하면 알 수 있습니다 .

백업시 린트 경고

여기서 언급하는 것은 백업 프로세스가 블랙 박스와 같다는 것을 언급하는 것이 좋습니다. .. 시작시기와 검사 사이의 기간을 알 수 없으므로 비활성화하는 것이 좋습니다.

==== 업데이트 ====

당신은 설정 후 매니페스트 합병 문제가 발생할 수 있습니다 allowbackupfalse. 이 문제를 해결하려면 다음을 추가하십시오.

tools:replace="android:allowBackup"

애플리케이션 요소에서. @ shahzain-ali에 대한 크레딧

또는 앱을 제거하기 전에 캐시를 지울 수 있습니다.

도움이 되길 바랍니다.


SharedPreferences 앱 제거와 함께 항상 삭제됩니다.

응용 프로그램을 제거하면 응용 프로그램이 내부 메모리에서 변경 한 모든 내용이 취소됩니다. 즉, SharedPreference 파일, 기타 데이터 파일, 데이터베이스 파일, 응용 프로그램이 Android OS에 의해 자동으로 제거됩니다.

편집 : 29/04/15 :> = 21 API의 경우 @Maher Abuthraa의 답변을 참조하십시오.


이상하지만 다음과 같은 방법으로 해결책을 찾았습니다.

  1. 추가 xmlns:tools="http://schemas.android.com/tools"매니페스트 태그Manifest.xml의 파일
  2. 추가 android:allowBackup="false"응용 프로그램 태그Manifest.xml의 파일
  3. 추가 tools:replace="android:allowBackup"응용 프로그램 태그Manifest.xml의 파일

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>

끝났다.


문제는 선호도가 아닙니다.

이 코드를 사용하여 수정하십시오 ..........

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

설정 allowBackup="false"하면 애플리케이션이 백업 및 복원에서 제외됩니다.

 android:allowBackup="false"

참고 URL : https://stackoverflow.com/questions/15873066/how-to-remove-shared-preference-while-application-uninstall-in-android

반응형