2017-08-04 7 views
0

アプリ「java」というエラーの画像をクリックするとクラッシュする。 lang.RuntimeException:結果ResultInfo {who = null、request = 0、result = -1、data =インテント{act =インラインデータ(エクストラがある)}}をアクティビティ{com.example.android.imageuploader/comに渡すことができません。 example.android.imageuploader.MainActivity}:java.lang.NullPointerExceptionが」"エラー配信結果ResultInfo {who = null、リクエスト= 0、結果= -1、データ=インテント{行=インラインデータ(エキストラあり)}}

主な活動: -

package com.example.android.imageuploader; 

import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.net.Uri; 
import android.preference.PreferenceManager; 
import android.provider.MediaStore; 
import android.support.annotation.NonNull; 
import android.support.v4.content.FileProvider; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.Toast; 

import com.google.android.gms.tasks.OnFailureListener; 
import com.google.android.gms.tasks.OnSuccessListener; 
import com.google.firebase.storage.FirebaseStorage; 
import com.google.firebase.storage.StorageReference; 
import com.google.firebase.storage.UploadTask; 

import static android.R.attr.cacheColorHint; 
import static android.R.attr.data; 

public class MainActivity extends AppCompatActivity { 
    private static final int REQUEST_CODE = 0; 
    private StorageReference storageReference; 
    private ProgressDialog progressDialog; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     storageReference = FirebaseStorage.getInstance().getReference(); 
     progressDialog = new ProgressDialog(this); 
     Button clickButton = (Button) findViewById(R.id.button_click); 
     clickButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       startActivityForResult(cameraIntent, REQUEST_CODE);       //starting camera intent 
      } 
     }); 

    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) { 
      progressDialog.setMessage("Upload In Progress..."); 
      progressDialog.show(); 
      Uri uri = data.getData(); 
      StorageReference filePath = storageReference.child("Pictures").child(uri.getLastPathSegment()); 
      filePath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
       @Override 
       public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
        progressDialog.dismiss(); 
        Toast.makeText(getApplicationContext(), "Upload Successful!!!", Toast.LENGTH_SHORT).show(); 
       } 
      }).addOnFailureListener(new OnFailureListener() { 
       @Override 
       public void onFailure(@NonNull Exception e) { 
        Toast.makeText(getApplicationContext(), "Upload Unsuccessful!!!", Toast.LENGTH_SHORT).show(); 
       } 
      }); 


     } 
    } 
} 

LOGCAT

致命的な例外:main プロセス:com.example.android.imageuploader、PID:2801 java.lang.RuntimeException:結果の配信に失敗しましたResultInfo {who = null、request = 0、result = -1、data = Intent {act =アクティビティ{com.example.android.imageuploader/com.example.android.imageuploader.MainActivity}:java.lang.NullPointerException android.app.ActivityThread.deliverResults(ActivityThread.java: 3363)android.app.ActivityThread.handleSendResult(ActivityThread.java:3406で )android.app.ActivityThread.access $ 1300(ActivityThread.java:135)android.app.ActivityThread $ H.handleMessageで で (ActivityThread.java :1244) android.os.Handler.dispatchMessage(Handler.java:102) とandroid.os.Looper.loop(Looper.java:136) とandroid.app.ActivityThread.main(ActivityThread.java:5019) でのjava .lang.reflect.Method.invokeNative(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java: com.exampleでjava.lang.NullPointerExceptionが :によって引き起こさcom.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) における779) dalvik.system.NativeStart.main(ネイティブメソッド) ました。 〜アンドロイドでandroid.app.ActivityThread.deliverResultsでandroid.app.Activity.dispatchActivityResult(Activity.java:5423) でdroid.imageuploader.MainActivity.onActivityResult(MainActivity.java:56) (ActivityThread.java:3359) 。アンドロイドでandroid.app.ActivityThread $ H.handleMessage(ActivityThread.java:1244) でandroid.app.ActivityThread.access $ 1300(ActivityThread.java:135) でapp.ActivityThread.handleSendResult(ActivityThread.java:3406) .os.Handler.dispatchMessage(Handler.java:102) とandroid.os.Looper.loop(Looper.java:136) とandroid.app.ActivityThread.main(ActivityTh read.java:5019) at java.lang.reflect.Method.invokeNative(ネイティブメソッド)

答えて

0

read logcat。 onActivityResultメソッドのNullPointException com.example.android.imageuploader.MainActivity。 onActivityResult(MainActivity.java:56)

+0

あなたの答えは役に立たなかったことをご理解ください。説明してください。 –

+0

「データ」オブジェクトがnullです。 – Anton

関連する問題