0
Это мой первый проект в java. Я хочу добавить функцию резервного копирования и восстановления обоев для своего приложения.Android Studio - если файл существует в системной папке, то
Код для резервного копирования:
public void btnBackupWallpaper(View view) {
File wallpaper = new File("/data/system/users/0/wallpaper");
if(wallpaper.exists()){
RootCmd.RunRootCmd("cp -f /data/system/users/0/wallpaper /data/local/tmp/wallpaper");
Toast.makeText(getApplicationContext(), "Wallpaper backup completed.",
Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), "Wallpaper not found.",
Toast.LENGTH_LONG).show();
}
}
код для восстановления
public void btnRestoreWallpaper(View view) {
File wallpaper = new File("/data/local/tmp/wallpaper");
if(wallpaper.exists()){
RootCmd.RunRootCmd("cp /data/local/tmp/wallpaper /data/system/users/0/wallpaper");
RootCmd.RunRootCmd("chmod 0700 /data/system/users/0/wallpaper");
RootCmd.RunRootCmd("chown system.system /data/system/users/0/wallpaper");
RootCmd.RunRootCmd("rm /data/local/tmp/wallpaper");
Toast.makeText(getApplicationContext(), "Wallpaper restore completed.",
Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), "Wallpaper backup not found.",
Toast.LENGTH_LONG).show();
}
}
восстановление работает нормально, но резервная копия всегда говорит "Обои не найдены".
File wallpaper = new File("/data/system/users/0/wallpaper");
if(wallpaper.exists()){}
Почему эта часть кода не работает?
Спасибо.
Я сомневаюсь, что '/ данные/система/users' доступна на' ~ '. Вы должны запустить проверку с помощью root – Blackbelt
Спасибо за повтор. Я запускаю приложение с помощью root. Если вы имеете в виду «~/data/system/users/0/wallpaper», это не работает. –