アプリがあり、写真を撮ってからfirebaseにアップロードする必要があります。私は基本的に撮影した写真のウリパスが必要です。Androidで画像のファイルパスを取得する
私はGet file path of image on Androidを読みましたが、NullPointerExceptionに問題があります。
私の問題と上記の問題の主な違いは、私がフラグメントでそれをやっていることです。私はウリimgUriと一直線にNullPointerExceptionが取得
mTakePhotoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
:
は、ここに私のコードです。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
mImgView.setImageBitmap(photo);
Uri imgUri = getImageUri(getActivity().getApplicationContext(), photo);
mManager.setPhotoUri(imgUri);
}
}
ここで私がウリを取得する方法です。
private Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
正確なエラーメッセージは、次のとおり
java.lang.RuntimeException:失敗の送達結果アンドロイド= ResultInfo {:断片:1、= 22222を要求し、結果= -1、 データ= {行為=インラインデータ(補足を有する)}} {.MainActivity}活性 意図: java.lang.NullPointerExceptionが:
をuriString Iは、任意の助けを理解するであろう。 E/AndroidRuntime com.example.radzik.recipes 18.448 16497から16497 /:
全体のエラー・ログ:
9月14日12:06に致命的な例外:メイン プロセス:com.example.radzik .recipes、PID:16497 java.lang.RuntimeException:結果の配信に失敗しました。ResultInfo {who =アンドロイド:フラグメント:1、リクエスト= 22222、結果= -1、データ=インテント{行=インラインデータ(エキストラあり)}}アクティビティ{com.example.radzik.recipes.contivity.MainActivity}:java.lang.NullPointerException: android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1393)でandroid.app.ActivityThread.-wrap16(ActivityThread.java) でandroid.app.ActivityThread.handleSendResult(ActivityThread.java:3742) で android.os.Handler.dispatchMessage(Handler.java:102) とandroid.os.Looper.loop(Looper.java:148) とandroid.app.ActivityThread.main(ActivityThread.java:5417) でのjava .lang.reflect.Method.invoke(ネイティブメソッド) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(Zygo (Uri.java:616) 原因:java.lang.NullPointerException:uriString android.net.Uri $ StringUri。(Uri.java:475) android.net.Uri $ StringUri(Uri.java) android.net.Uri.parse(Uri.java:437) at com.example.radzik.recipes.fragment.ChoosePhotoFragment.getImageUri(ChoosePhotoFragment.java:144) at com.example.radzik.recipes.fragment.ChoosePhotoFragment 。android.app.ActivityThread.handleSendResultでandroid.app.ActivityThread.deliverResults(ActivityThread.java:3695) でandroid.app.Activity.dispatchActivityResult(Activity.java:6452) でonActivityResult(ChoosePhotoFragment.java:135) ( ActivityThread.java:3742) android.app.ActivityThread.-wrap16(ActivityThread.java) (android.app.ActivityThread)$ H.handleMessage(ActivityThread.java:1393) at android.os.Handler.dispatchMessage(Handler .java:102) とandroid.os.Looper.loop(Looper.java:148) android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(ネイティブメソッド) com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616は)
を依存を追加することを忘れないでください、あなたはまた、スタックフレームを含む全体のエラーログを投稿することができますか? – Sundeep
私は完全なエラー –
で私の質問を更新しました 'insertImage'呼び出しが' null'を返すように見えるので、 'path'は' null'です。 https://stackoverflow.com/questions/23059580/mediastore-images-media-insertimage-is-returning-null-when-trying-to-save-the-im – Sundeep