这个问题在这里已有答案:
这是我的代码 . 不明白如何解决它 . 许多代码但失败了 . 所以在这里张贴 .
storageReference = FirebaseStorage.getInstance().getReference();
progressDialog = new ProgressDialog(this);
select.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,CAMERA_REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK)
{
progressDialog.setMessage("Uploading picture");
progressDialog.show();
Uri uri = data.getData();
StorageReference filePath = storageReference.child("Photos").child(uri.getLastPathSegment());
//StorageReference filepath = storageReference.child("CapturedPhotos").child(uri.getLastPathSegment());
filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
// Uri downloadUri = taskSnapshot.getDownloadUrl();
// Picasso.with(Storage_Capture_Picture.this).load(downloadUri).fit().centerCrop().into(imageView);
Toast.makeText(Storage_Capture_Picture.this,"Uploaded",Toast.LENGTH_SHORT).show();
}
});
}
logcat的
11-26 14:57:07.953 2912-2912 / com.a.firebaseapp E / AndroidRuntime:FATAL EXCEPTION:main进程:com.a.firebaseapp,PID:2912 java.lang.RuntimeException:无法恢复活动{com . a.firebaseapp / com.a.firebaseapp.Storage_Capture_Picture}:java.lang.RuntimeException:传递结果失败ResultInfo {who = null,request = 1,result = -1,data = Intent {act = inline-data(has extras)来自android.app.ActivityThread.handleResumeActivity(ActivityThread)的android.app.ActivityThread.performResumeActivity(ActivityThread.java:2786)中的活动{com.a.firebaseapp / com.a.firebaseapp.Storage_Capture_Picture}:java.lang.NullPointerException .java:2815)在android.app.A活动中的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248)android.app.ActivityThread.access $ 900(ActivityThread.java:135)的android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3736) )在Android.app.Handler.dispatchMessage(Handler.java:102)的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1202)处android.os.Looper.loop(Looper.java:136)位于java.lang.reflect的java.lang.reflect.Method.invokeNative(Native Method)的android.app.ActivityThread.main(ActivityThread.java:5019) . Com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)中的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)中的Method.invoke(Method.java:515) at dalvik.system.NativeStart.main(Native Method)由以下引起:java.lang.RuntimeException:传递结果失败ResultInfo {who = null,request = 1,result = -1,data = Intent }}活动{com.a.firebaseapp / com.a.firebaseapp.Storage_Capture_Picture}:android.app.ActivityThread.performResumeActivity上android.app.ActivityThread.deliverResults(ActivityThread.java:3363)的java.lang.NullPointerException (ActivityThread.java:2773)在android.app.A活动中的android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2815),android.app.ActivityThread.h上的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248) andleRelaunchActivity(ActivityThread.java:3736)在Android.app.Handler.dispatchMessage上的android.app.ActivityThread.access $ 900(ActivityThread.java:135)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1202) Handler.java:102)在android.app.Looper.loop(Looper.java:136)的android.app.ActivityThread.main(ActivityThread.java:5019)at java.lang.reflect.Method.invokeNative(Native Method)在com.android.internal.os.ZygoteInit.main的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)的java.lang.reflect.Method.invoke(Method.java:515)中(ZygoteInit.java:595)at dalvik.system.NativeStart.main(Native Method)由android.app.Activity上的com.a.firebaseapp.Storage_Capture_Picture.onActivityResult(Storage_Capture_Picture.java:64)中的java.lang.NullPointerException引起.dispatchActivityResult(Activity.java:5423)在android.app.ActivityThread.deliverResults(ActivityThread.java:3359)
我正在尝试使用基于火存储的应用程序来捕获图像并将其存储到我的基础存储中 .
当我运行我的应用程序时,它运行正常 . 我移动到相机捕获图像,我选择好按钮,它显示我不幸停止 .
我添加了所有权限和gradle文件来构建 . 这是我的两个错误
java.lang.NullPointerException java.lang.RuntimeException:无法恢复活动
1 回答
如果您在活动中执行此操作您必须初始化您的ProgressDialog
如果你在片段中这样做你必须初始化你的ProgressDialog
您没有正确初始化progressDialog .