sách gpt4 ăn đã đi

java - Camera Intent 调用 onDestroy()

In lại 作者:搜寻专家 更新时间:2023-11-01 09:47:15 25 4
mua khóa gpt4 giày nike

在我的应用程序中,我想点击来自相机的照片,并希望在 onActivityResult() 方法中从相机结果中获取内容 URI

在我的应用程序中,我使用以下方法获取内容 URL。

Uri currImageURI;
ArrayList imageItems = new ArrayList();
@Ghi đè
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Phương thức tự động tạo stub
if((requestCode == SELECT_PICTURE_FROM_CAMERA && resultCode == RESULT_OK) || (requestCode == SELECT_PICTURE_FROM_LIB && resultCode == RESULT_OK)) {
currImageURI = data.getData();
imageItems.add(currImageURI);
Toast.makeText(UpdateMyServiceActivity.this, "Image added.", Toast.LENGTH_LONG).show();
}
}

tôi ở đây MảngDanh sách 中添加了 uri(因为用户可以上传多张图片)。

我的应用程序中有保存按钮。

当用户点击保存按钮时,我将 imageItems 传递给 AsyncTask 以将图像上传到服务器。

但问题来了。

当用户点击保存按钮时,我得到 imageItems null

我调试我的应用程序。将 URI 添加到 ArrayList 后,将调用下面的 Hoạt động phương pháp.

onResume()
onPause()
onStop()
onDestroy()
onCreate()
onStart()
onResume()

这就是我得到 arrayList null 的原因。

如何解决这个问题?

câu trả lời hay nhất

currImageURI = data.getData();

如果您使用的是 ACTION_IMAGE_CAPTURE,则此代码不正确。 ACTION_IMAGE_CAPTURE 不返回 Uri,但少数相机应用会返回。相反,您在 ACTION_IMAGE_CAPTURE Intent 本身上提供 EXTRA_OUTPUT。然后,您保留在 EXTRA_OUTPUT 中使用的任何值,然后在 onActivityResult() 中查找您的图像。

That's why I am getting arrayList null.

您的 Activity 正在被销毁并重新创建,可能是因为您的进程在相机应用程序处于前台时被终止。这是完全正常的。只要您的应用不在前台,您的进程就可以随时终止。

How to solve this issue?

通过保存的实例状态 Bundle 持有 MảngDanh sách

关于java - Camera Intent 调用 onDestroy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546330/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress