アプリ「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(ネイティブメソッド)
あなたの答えは役に立たなかったことをご理解ください。説明してください。 –
「データ」オブジェクトがnullです。 – Anton