2016-04-02 28 views
0

我有以下問題我的應用程序: 當我用相機拍攝照片並按發送到電子郵件按鈕它一切正常,圖片保存在手機上,它正在加載到我的電子郵件意圖。但是當我採取沒有圖像,我按發送到電子郵件按鈕應用程序崩潰!有人可以幫我嗎?Android應用程序:應用程序崩潰時,我沒有使用相機拍照

的電子郵件意向代碼:

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

對不起,我是新的android和我沒有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