上传图片后出现问题,它会自动更改活动 但我不知道是什么使变更自动转移到另一个活动
这是我的EditProfileActivity
package com.example.together.Activities;
import android.content.ContentResolver;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.MimeTypeMap;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.example.together.Model.User;
import com.example.together.R;
import com.google.android.gms.tasks.Continuation;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.StorageTask;
import com.rengwuxian.materialedittext.MaterialEditText;
import com.theartofdev.edmodo.cropper.CropImage;
import com.theartofdev.edmodo.cropper.CropImageView;
import java.util.HashMap;
public class EditProfileActivity extends AppCompatActivity {
ImageView close, image_profile;
TextView save, tv_change;
MaterialEditText fullname, username, bio;
FirebaseUser firebaseUser;
private Uri mImageUri;
private StorageTask uploadTask;
StorageReference storageRef;
public static String TAG = "EditProfileActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_edit_profile);
close = findViewById(R.id.close);
image_profile = findViewById(R.id.image_profile);
save = findViewById(R.id.save);
tv_change = findViewById(R.id.tv_change);
fullname = findViewById(R.id.fullname);
username = findViewById(R.id.username);
bio = findViewById(R.id.bio);
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
storageRef = FirebaseStorage.getInstance().getReference().child("uploads");
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
fullname.setText(user.getFullname());
username.setText(user.getUsername());
bio.setText(user.getBio());
Glide.with(getApplicationContext()).load(user.getImageurl()).into(image_profile);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
tv_change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CropImage.activity()
.setAspectRatio(1, 1)
.start(EditProfileActivity.this);
}
});
image_profile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CropImage.activity()
.setAspectRatio(1, 1)
.start(EditProfileActivity.this);
}
});
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
updateProfile(fullname.getText().toString(),
username.getText().toString(),
bio.getText().toString());
}
});
}
private void updateProfile(String fullname, String username, String bio) {
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("fullname", fullname);
hashMap.put("username", username);
hashMap.put("bio", bio);
reference.updateChildren(hashMap);
}
private String getFileExtension(Uri uri){
ContentResolver contentResolver = getContentResolver();
MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
return mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri));
}
private void uploadImage(){
// Progress .xml에서 Visible 하는거 구현
//To show ProgressBar
if (mImageUri != null){
final StorageReference filereference = storageRef.child(System.currentTimeMillis()
+"."+getFileExtension(mImageUri));
uploadTask = filereference.putFile(mImageUri);
uploadTask.continueWithTask(new Continuation() {
@Override
public Object then(@NonNull Task task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
return filereference.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()){
Uri downloadUri = task.getResult();
String myUrl = downloadUri.toString();
Log.d(TAG, "onComplete: "+myUrl+"주소");
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("imageurl", myUrl);
reference.updateChildren(hashMap);
} else {
showMessage("Failed");
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
showMessage(e.getMessage());
}
});
}else {
showMessage("이미지를 선택해주세요");
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE && resultCode == RESULT_OK){
CropImage.ActivityResult result = CropImage.getActivityResult(data);
mImageUri = result.getUri();
Log.wtf(TAG, "onActivityResult: TAG 실행된 결과값오나요? "+mImageUri+"ImageUri" );
uploadImage();
}else {
showMessage("Somethings wrong");
}
}
private void showMessage(String text) {
Toast.makeText(getApplicationContext(),text,Toast.LENGTH_LONG).show();
}
}
我想知道在将公司形象更改为公司后回家... 而且我不
点击裁剪后
2019-06-24 18:23:15.685 1875-1895/? W/BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
2019-06-24 18:23:15.685 1875-1895/? W/BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
2019-06-24 18:23:18.742 1614-1614/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 111048965 , only wrote 110895840
2019-06-24 18:23:18.894 18538-18538/com.example.blogapp W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@f5c9514
2019-06-24 18:23:19.408 1727-1904/? W/SurfaceFlinger: Attempting to set client state on removed layer: Splash Screen com.example.blogapp#0
2019-06-24 18:23:19.408 1727-1904/? W/SurfaceFlinger: Attempting to destroy on removed layer: Splash Screen com.example.blogapp#0
我想看看 单击裁剪后,将再次返回以编辑表单活动