2016-11-08 79 views
0

我想拍照並將其保存在Gallary應用程序中。到目前爲止,我設法寫下如下一段代碼:Android:相機打開但不保存拍攝的照片,爲什麼?

public void sendMessages(View view) { 
     Intent intent = new Intent(this, MessagingAdapter.class); 
     startActivity(intent); 
    } 

    public void takePicture(View view) { 
     Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri()); 
     startActivityForResult(cameraIntent, TAKE_PHOTO_CODE); 
    } 


    public Uri getImageUri() { 
     picNo++; 

     String storageFolderPath = Environment.getExternalStorageDirectory() + "/CameraImages/"; 
     String fullFileName = storageFolderPath + picNo + ".jpg"; 
     File newPic = new File(fullFileName); 

     Uri outputFileUri = Uri.fromFile(newPic); 
     return outputFileUri; 
    } 

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == 1) 
      return; 
     if (requestCode == 3) { 
      Uri uri = data.getData(); //YOU GET DATA HERE 
     } 
    } 

它正在工作,沒有錯誤。但是,它不起作用,因爲我想。

我在測試Nexus-7(CynongeMode)。我的應用程序打開相機好吧。但考慮出手了,它凍結所拍攝的圖像後,並給出3個選項(攝像頭應用程序是一個內置的應用程序):

  1. 取消,並從相機返回我的應用程序,或
  2. 重考拍攝,或
  3. 接受拍攝的圖像!

現在,前兩個選項工作,但第三個選項沒有做任何事情,它只是凍結如圖所示波紋管:

enter image description here

可能是什麼問題,爲什麼我canoot保存圖像?!


UPDATE

我把一個很簡單的方法onActivityResult。但它甚至不在那裏(調試時)。但是,當我刪除cameraIntent.putExtra行,然後去onActivityResult,但又沒有保存的圖像!!。

+1

其中是保存代碼部分? – Real73

+1

這裏是[鏈接](http://stackoverflow.com/questions/12995185/android-taking-photos-and-saving-them-with-a-custom-name-to-a-custom-destinati)它可能幫你。 –

+1

發佈你的onActivityResult方法 – Raghavendra

回答

1

您是否將權限設置爲Manifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

已經有! :-) –

相關問題