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
다음에서 실행하면 알 수 있습니다 .
여기서 언급하는 것은 백업 프로세스가 블랙 박스와 같다는 것을 언급하는 것이 좋습니다. .. 시작시기와 검사 사이의 기간을 알 수 없으므로 비활성화하는 것이 좋습니다.
==== 업데이트 ====
당신은 설정 후 매니페스트 합병 문제가 발생할 수 있습니다 allowbackup
로 false
. 이 문제를 해결하려면 다음을 추가하십시오.
tools:replace="android:allowBackup"
애플리케이션 요소에서. @ shahzain-ali에 대한 크레딧
또는 앱을 제거하기 전에 캐시를 지울 수 있습니다.
도움이 되길 바랍니다.
SharedPreferences
앱 제거와 함께 항상 삭제됩니다.
응용 프로그램을 제거하면 응용 프로그램이 내부 메모리에서 변경 한 모든 내용이 취소됩니다. 즉, SharedPreference 파일, 기타 데이터 파일, 데이터베이스 파일, 응용 프로그램이 Android OS에 의해 자동으로 제거됩니다.
편집 : 29/04/15 :> = 21 API의 경우 @Maher Abuthraa의 답변을 참조하십시오.
이상하지만 다음과 같은 방법으로 해결책을 찾았습니다.
- 추가
xmlns:tools="http://schemas.android.com/tools"
로 매니페스트 태그 의 Manifest.xml의 파일 - 추가
android:allowBackup="false"
로 응용 프로그램 태그 의 Manifest.xml의 파일 - 추가
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"
'Programing' 카테고리의 다른 글
파일 크기 기준을 충족하기 위해 파일에 삽입 할 특정 길이의 문자열을 생성하는 방법은 무엇입니까? (0) | 2020.08.22 |
---|---|
클로저에서 지수화하는 방법은 무엇입니까? (0) | 2020.08.22 |
C # Sort 및 OrderBy 비교 (0) | 2020.08.22 |
iOS의 navigationController에서 뒤로 버튼 콜백 (0) | 2020.08.22 |
git delete remotes : 원격 참조가 존재하지 않습니다. (0) | 2020.08.22 |