2015-06-21 115 views
-2

我有一個自定義相機應用程序,我想將捕獲的照片傳遞到另一個活動,我可以在其上添加其他圖標(表情圖標)。我如何將拍攝的照片傳遞給其他活動?

如何將拍攝的照片傳遞給其他活動?

+0

可能重複[我如何傳遞一個位圖對象從一個活動到另一個活動(http://stackoverflow.com/問題/ 2459524 /如何傳遞一個位圖 - 從一個活動到另一個對象) – stan0

回答

0

您可以通過意圖傳遞照片的URI。假設你打電話給你的相機startActivityForResult()。在相機的活動:

Intent data = new Intent(); 
data.putExtra(MediaStore.EXTRA_OUTPUT, imageFilename); 
setResult(Activity.RESULT_OK, data); 
finish(); 
在您的表情活動

然後:

@Override 
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if (data != null && data.hasExtra(MediaStore.EXTRA_OUTPUT)) { 
     File imageFile = new File(data.getStringExtra(MediaStore.EXTRA_OUTPUT)); 

     // Bitmap here, do whatever you need 
     Bitmap bitmap = readBitmapFromFile(imageFile.getName()); 
    } 
} 

public static Bitmap readBitmapFromFile(@NotNull String filename) { 
    File file = new File(filename); 

    BitmapFactory.Options bmOptions = new BitmapFactory.Options(); 
    bmOptions.inJustDecodeBounds = false; 
    bmOptions.inPreferredConfig = Bitmap.Config.RGB_565; 
    bmOptions.inSampleSize = 1; 
    bmOptions.inPurgeable = true; 

    Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), bmOptions); 

    return bitmap; 
} 
+0

請告訴我它是什麼「FileUtils」。我應該把它作爲一個int或一個字符串或布爾值? –

+0

@BririmBlerii查看編輯答案 – jlhonora

+0

@感謝,但意圖我該怎麼處理它?在mainactivity我有一個圖像視圖作爲一個按鈕(捕獲)onClick它調用一個方法稱爲TakePicture();從CameraPreview(CameraPreview.TakePicture();),我已經把意圖放在這下面,是對的還是不對? –

相關問題