2016-04-02 6 views
0

私のアプリで次のような問題があります: カメラで写真を撮ってSEND TO EMAILボタンを押すとすべて正常に動作し、画像は保存されますそれは私の電子メールインテントに読み込まれています。しかし、私は画像を取ると私はメールに送信ボタンを押してアプリがクラッシュする!誰かが私を助けてくれますか?Android App:カメラで写真を撮らないとアプリがクラッシュする

メール意向コード:

emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(foto)); 

カメラの意向コードは:

FotoButton = (Button) findViewById(R.id.FotoButton); 
    FotoButton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      startCamera(); 
     } 
    }); 
} 

private void startCamera() { 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    foto = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Fehlerbild.jpg"); 
    Uri image = Uri.fromFile(foto); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, image); 
    startActivityForResult(intent,TAKE_FOTO); 

墜落コード:

あなたが任意の写真を含めていません
04-02 11:57:30.229 21042-21042/de.cmoreno.hcsedv_service E/AndroidRuntime: FATAL EXCEPTION: main 
Process: de.cmoreno.hcsedv_service, PID: 21042 
java.lang.NullPointerException: file 
    at android.net.Uri.fromFile(Uri.java:448) 
    at de.cmoreno.hcsedv_service.Main2Activity$1.onClick(Main2Activity.java:174) 
    at android.view.View.performClick(View.java:5242) 
    at android.widget.TextView.performClick(TextView.java:10573) 
    at android.view.View$PerformClick.run(View.java:21196) 
    at android.os.Handler.handleCallback(Handler.java:739) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:145) 
    at android.app.ActivityThread.main(ActivityThread.java:6938) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 
+0

ポストクラッシュログを... –

+1

は私達にあなたのactivityforresultを表示します。 –

+0

申し訳ありません、私はアンドロイドで新しく、私はactivityforResultを持っていません。 – Chris

答えて

0

fotonullです:

foto = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Fehlerbild.jpg"); 

この場合、これを含めないようにしてください。コメントに基づいて

編集1

emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(foto)); // this is causing problem. 

変更それはこのようにする:

if(foto!=null){ 
    emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(foto)); 
} 
+0

例外: 'Main2Activity.java:174' –

+0

私のコードで私に例を教えてもらえますか? – Chris

+0

例外:Main2Activity.java:174 = emailIntent.putExtra(Intent.EXTRA_STREAM、Uri.fromFile(foto)); – Chris

関連する問題