我试图调用相机应用程序两次,如下所述:https://developer.android.com/training/Camera/photoBasics现在,当我使用这个程序时,没有创建临时文件,这是有效的,我能够调用相机两次,但在添加临时文件后,我只能在崩溃前获取一个文件。这是非常令人沮丧的,因为我可以看到它在崩溃前返回一个全尺寸的图像。
private void takePictureAndUpload() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
// Error occurred while creating the File
}
// Continue only if the File was successfully created
if (photoFile != null) {
Uri photoURI = FileProvider.getUriForFile(this,
"com.example.android.provider",
photoFile);
startActivityForResult(takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI)
, REQUEST_IMAGE_CAPTURE);
}
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
if ((requestCode == REQUEST_IMAGE_CAPTURE) && (resultCode == Activity.RESULT_OK)){
count++;
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
assert imageBitmap != null;
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
final byte[] imageData = stream.toByteArray();
setuId(user);
final String path = "posts/" + UUID.randomUUID() + ".jpg";
FirebaseStorage storage = FirebaseStorage.getInstance();
final StorageReference storageRef = storage.getReference();
final StorageReference imageRef = storageRef.child(path);
UploadTask uploadTask = imageRef.putBytes(imageData);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
String ex = e.getLocalizedMessage();
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
imageRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>()
{
@Override
public void onSuccess(Uri downloadUrl)
{
final String url = downloadUrl.toString();//do something with downloadurl
data.putExtra(MediaStore.EXTRA_OUTPUT, url);
addPhotoUrlToDatabase(post.getImageUrl_1(), post.getImageUrl_2(), path);
}
});
}
});
}
}
private File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
);
// Save a file: path for use with ACTION_VIEW intents
currentPhotoPath = image.getAbsolutePath();
return image;
}
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android, PID: 21689
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.example.android/com.example.android.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:4491)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4534)
at android.app.ActivityThread.-wrap20(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1752)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
at com.example.android.MainActivity.onActivityResult(MainActivity.java:257)
at android.app.Activity.dispatchActivityResult(Activity.java:7547)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4487)
编辑
以下是我所遵循的指南:https://developer.android.com/training/camera/photobasics.html#taskpath
使您的活动结果像这样,因为使用相同的命名参数是混乱的。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
}
你的包好像是空的。
正如他们所说,System是最终的类,它将类型外的PrintStream作为字段成员,println是PrintStream类中的方法。 我创建了一个类,其中静态字段no的类型为,只想访问Number类的方法,但它抛出了 对于UseNumber类
每当我试图获取SpringMVC的时,都会抛出一个。 这是我的用户道: 线程“main”java.lang.NullPointerException位于com.markor.smarthome.utilites.SpringContextutil.getBeans(SpringContextutil.java:31)位于com.markor.smarthome.dao.userdao.(userd
问题内容: 我正在尝试对Hibernate 5.0.7.Final使用JPA2类型安全的条件查询。 root.get总是抛出异常。元模型类用于通过产生。 在未填充的JPA /Hibernate静态元模型属性中提出了类似的问题-NullPointerException,但这一次这两个类位于同一包中。 堆栈跟踪: 我的代码: 我用来确保它们将具有的接口。 模型类 生成的元模型Person_类 我随Pe
问题内容: 我正在尝试使用Apache POI读取Excel文件。我的目标是从每行中获取单元格2和3,并将它们放入数组中。在某些行中,单元格3为空(我不是在谈论EMPTY,NULL或BLANK)。如果在Excel中检查它们,则为空。 这些空单元格中的一些(不是全部)导致NullPonterException: 线程“ main” java.lang.NullPointerException中的异常
我正在尝试用Apache POI读取Excel文件。我的目标是从每一行获得单元格2&3,并将它们放入一个数组。在某些行中,单元格3是空的(我不是说空的、空的或空白的)。如果您在Excel中检查它们,则只需为空。 其中一些空单元格(不是全部)在线程“main”java.lang.NullPointerException中导致nullPonterException:Exception。在尝试获取单元格
我试图实现的是从main方法获取控制器实例,这样我就可以从另一个类调用控制器的方法并更新fxml。总之,这是我的代码: 主要类别: 我的控制器类: 试图调用控制器方法的类: 下面是我的错误信息: ConnectionHandling类: