Вы должны удалить строку "file.saveInBackground();
". Потому что это работает в фоновом режиме. И когда вы помещаете этот файл в пользовательский объект, сохранение файла не завершено, и сервер синтаксического анализа снова загрузит тот же файл на сервер с пользовательским объектом. и у вас останется два дубликата.
Измените свой код на:
public void update (Uri uri)
{
ParseUser user = ParseUser.getCurrentUser();
if(uri!=null){
InputStream iStream=getContentResolver().openInputStream(uri);
byte[]image=Helper.getBytes(iStream);
ParseFile file=new ParseFile("profile.png",image);
user.put("photo",file);
user.saveInBackground();
}
}
С этим кодом вы загружаете файл только один раз