PDA

View Full Version : خطا در عکس گرفتن



barnamenevisjavan
چهارشنبه 21 آبان 1393, 20:32 عصر
سلام دارم یه برنامه مینویسم که باید عکس بگیره.وقتی روی باتون موردنظر کلیک میشه عکس بدرستی گرفته میشه و در حافظه ذخیره میشه.
کد باتون به صورت زیر هست:
mCamera.takePicture(null, null, jpegCallback);
منتها مشکلی که دارم من از یه onActivityResult دارم استفاده میکنم و میخوام وقتی مقدار موردنظرم برگشت داده شد عکس گرفته بشه بصورت زیر استفاده کردم ولی برنامه Unfortantly Stoped میشه.

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

if (result.get(0).equals(Prefs.getMy(getActivity())))
{
Toast.makeText(getActivity(), result.get(0), Toast.LENGTH_LONG).show();
mCamera.takePicture(null, null, jpegCallback);
Prefs.setMy(getActivity(), 1);
}else {
Prefs.setMyPic(getActivity(), 0);
Toast.makeText(getActivity(), result.get(0), Toast.LENGTH_LONG).show();
}
}
break;
}


}
}





onActivityResult هم مشکلی نداره بخوبی کار میکنه فقط نمیدونم چرا وقتی به کد
mCamera.takePicture(null, null, jpegCallback);
میرسه برنامه Stop میشه.

tux-world
چهارشنبه 21 آبان 1393, 23:53 عصر
مگه نمیگید که بعد عکس گرفتن باید برگرده به اکتیویتی شما. حالا اون خطی که نوشتی برای چی هستش؟ شما الان عکس رو در اختیار داری دوباره میخوایی عکس بگیری ؟

barnamenevisjavan
پنج شنبه 22 آبان 1393, 10:03 صبح
مگه نمیگید که بعد عکس گرفتن باید برگرده به اکتیویتی شما. حالا اون خطی که نوشتی برای چی هستش؟ شما الان عکس رو در اختیار داری دوباره میخوایی عکس بگیری ؟
عکس توسط خود برنامه گرفته میشه (SurfaceView)
منظورم این بود که کدهای برنامه سالم هستن و وقتی توی باتن نوشته میشه کد بخوبی عمل میکنه.
اما قصد من رویداد باتن نیستش،من میخوام وقتی نتیجه از onActivityResult
برگشت داده شد عکس گرفته بشه که متاسفانه عمل نمیکنه.
کد زیر کلا توی onActivityResult کار نمیکنه
mCamera.takePicture(null, null, jpegCallback);
کار خاصی باید انجام بدم؟مثل override و intializ؟

tux-world
پنج شنبه 22 آبان 1393, 17:41 عصر
خوب تا جایی که من میدونم شاید هم درست نباشه اینه که شما وقتی داری یه اینتنت رو میفرستی خروجی رو از اون اینتنت میگیری مخصوصا چنین کارایی. یعنی شما عکس توسط یه برنامه دیگه گرفته میشه و به برنامه شما فرستاده میشه. دیگه اگه بخوایید بعد از بازگشت عکس بگیرید باید خودتون اون تیکه رو بنویسید