不知道這是否是知道的行爲或什麼,但這裏的邏輯流程:Android應用程序掛到startActivityForResult
- 用戶打開應用程序
- 抽導航抽屜出來,點擊個人資料相片來改變它
- 畫廊意圖彈出,用戶摘圖像,一切工作正常
- 隨後試圖打開畫廊工作正常,在選擇圖片,應用程序掛起
onResume()不被調用,也不是onActivityResult()。我甚至在onActivityResult中註釋掉了所有的代碼,但它仍然會發生。任何想法會導致這種情況?
這裏是主要的活動
ImageButton profilePictureButton = (ImageButton) findViewById(R.id.change_profile_picture);
profilePictureButton.requestFocus();
profilePictureButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 1);
}
});
在這裏從的onCreate代碼()年代的處理程序:
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
if(resultCode == RESULT_OK) {
if(requestCode == 1) {
ImageView view = ((ImageView) findViewById(R.id.nav_profile_picture));
if(data != null) {
/*Picasso.with(this).load(data.getData()).into(view);
UsersCache.getInstance().GetUser("", new Response.Listener<UserItem>() {
@Override
public void onResponse(UserItem response) {
String pictureName = response.username + UUID.randomUUID().toString();
String url = "<redacted>";
JSONObject requestBody = new JSONObject();
try {
requestBody.put("profilePicture", "<redacted>/media/profile_pictures/" + pictureName);
} catch(JSONException e) {
e.printStackTrace();
return;
}
FlareJsonObjectRequest request = new FlareJsonObjectRequest(Method.POST, url, requestBody, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
String tet = null;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
String tet = null;
}
});
new AmazonS3Uploader(data.getData(), "profile_pictures/" + pictureName);
VolleyQueue.getInstance().getQueue().add(request);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
String tet = null;
}
});*/
}
}
向我們展示一些代碼。 –
「gallery」是一個Activity在您的代碼庫中,還是在另一個應用程序中? – Egor
只是標準畫廊的意圖,如圖所示。 –