应用程序崩溃java.lang.RuntimeException:无法传递结果ResultInfo

时间:2018-10-05 14:32:15

标签: android firebase firebase-storage

public class MainActivity extends AppCompatActivity {

    private Button openCamera;
    private ImageView image;

    private static final int CAMERA_REQUEST_CODE = 100;

    private StorageReference mStorage;
    private ProgressDialog mProgress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mStorage = FirebaseStorage.getInstance().getReference();

        openCamera = (Button) findViewById(R.id.btnOpenCamera);
        image = (ImageView) findViewById(R.id.ivImage);

        mProgress = new ProgressDialog(this);

        openCamera.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){

        mProgress.setMessage(("Uploading Image..."));
        mProgress.show();

        Uri uri = data.getData();

        StorageReference filepath = mStorage.child("Photos").child("new photo");

        filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                mProgress.dismiss();

                Toast.makeText(MainActivity.this, "Uploading Finished...", Toast.LENGTH_SHORT).show();


            }
        });
    }
}
}

错误消息:

10-05 16:15:33.492 30510-30510/com.example.android.camera E/AndroidRuntime: FATAL EXCEPTION: main
                                                                            Process: com.example.android.camera, PID: 30510
                                                                            java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.example.android.camera/com.example.android.camera.MainActivity}: java.lang.IllegalArgumentException: uri cannot be null
                                                                                at android.app.ActivityThread.deliverResults(ActivityThread.java:3720)
                                                                                at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763)
                                                                                at android.app.ActivityThread.-wrap16(ActivityThread.java)
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                at android.os.Looper.loop(Looper.java:148)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                                             Caused by: java.lang.IllegalArgumentException: uri cannot be null
                                                                                at com.google.android.gms.common.internal.zzbo.zzb(Unknown Source)
                                                                                at com.google.firebase.storage.StorageReference.putFile(Unknown Source)
                                                                                at com.example.android.camera.MainActivity.onActivityResult(MainActivity.java:73)
                                                                                at android.app.Activity.dispatchActivityResult(Activity.java:6470)
                                                                                at android.app.ActivityThread.deliverResults(ActivityThread.java:3716)
                                                                                at android.app.ActivityThread.handleSendResult(ActivityThread.java:3763) 
                                                                                at android.app.ActivityThread.-wrap16(ActivityThread.java) 
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1403) 
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5443) 
                                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
10-05 16:15:39.170 30510-30629/com.example.android.camera W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 

0 个答案:

没有答案
相关问题