Android의 다른 의도로 카메라 이미지를 전달하는 방법은 무엇입니까?
-
11-12-2019 - |
문제
카메라 이미지를 하나의 의도에서 다른 의도로 보내려고합니다.현재 다음 방법을 사용하여 노력하고 있습니다.
이미지가 캡처되면
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode)
{
case CAMERA_RECEIPTREQUEST:
if(resultCode== Activity.RESULT_OK)
{
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
//ImageView jpgView = (ImageView)findViewById(R.id.imageView1);
Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);
Intent imagepass = new Intent(Activity1.this,Activity2.class);
imagepass.putExtra("imagepass", imagepass);
startActivity(imagepass);
.
두 번째 활동
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.receiptreview);
//creating view ids
createViewIds();
Bitmap receiptimage = (Bitmap) getIntent().getExtras().getParcelable("imagepass");
receipt.setImageBitmap(receiptimage);
}
.
그러나 StackOverflow 오류,
at java.util.HashMap$EntrySet.iterator(HashMap.java:944)
at android.os.Parcel.writeMapInternal(Parcel.java:486)
at android.os.Bundle.writeToParcel(Bundle.java:1552)
at android.os.Parcel.writeBundle(Parcel.java:502)
at android.content.Intent.writeToParcel(Intent.java:5477)
.
나는 내가 잘못된 방법을 시도하는지 확신하지 못한다. 나는 이것을 샘플이나 해결책을 찾고있다.
당신의 도움을 주셔서 감사합니다.
해결책
사용
Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);
Intent imagepass = new Intent(Activity1.this,Activity2.class);
imagepass.putExtra("imagepass", receipt );
startActivity(imagepass);
.
대신
Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);
Intent imagepass = new Intent(Activity1.this,Activity2.class);
imagepass.putExtra("imagepass", imagepass);
startActivity(imagepass);
.
imagepass.putExtra("imagepass", imagepass);
에서 Bitmap
에서 imagepass.putExtra("imagepass", receipt );
인스턴스를 전달하는 Intent 인스턴스 imagePass를 전달합니다
편집 :
Android의 활동간에 이미지 (비트 맵)를 통과하기 위해 다음 게시물보기 :
다른 팁
내가 당신의 의도 자체를 전달할 수있는 것을 볼 수있는 것에서.시도해보십시오 :
imagepass.putExtra("imagepass", receipt);
.
가 작동 할 수 있습니다. 아직도 Android 내 자신을 사용합니다.
이미지를 바이트 배열로 변환 한 다음 의도 및 활동을 통해 바이트 배열을 전달하여 바이트 배열을 비트 맵 로 변환 할 수 있습니다.
제휴하지 않습니다 StackOverflow