Mah*_*ran 5 android nullpointerexception android-intent android-camera
我使用默认的相机意图来获取我的应用程序中的图像.问题是相机返回null onActivityResult().将ResultCode与RequestCode正在返回预期.
我的意图是:
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1224;
....
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
OnactivityResult是:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
//use imageUri here to access the image
Uri imageuri = data.getData(); // here is getting crash
imageView.setImageFromUri(imageUri);
}
}
}
void setImageFromUri(Uri imgUri){
... TODO assign image from uri
}
Run Code Online (Sandbox Code Playgroud)
当我把Log我得到resultCode和responseCode不为null
resultCode = -1
requestCode = 1224
Run Code Online (Sandbox Code Playgroud)
我在哪里做错了?
但拍摄的照片存储在我指定的路径(imageUri)中
有没有其他方法可以使用相机获取图像.
Sha*_*ech 10
似乎你知道onActivityResult之前的imageUri.这不是正确的答案,但会很好.
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
Run Code Online (Sandbox Code Playgroud)
//这个图像只是你要使用的图像
所以不要使用
Uri imageuri = data.getData();
Run Code Online (Sandbox Code Playgroud)
只需使用你所知道的uri.
你的代码看起来像这样:
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
//use imageUri here to access the image
imageView.setImageFromUri(imageUri); // imageUri should be global in the activity
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |