۱۳۹۵/۰۳/۱۴, ۱۲:۴۴ ق.ظ
(آخرین تغییر در ارسال: ۱۳۹۵/۰۳/۱۴, ۱۲:۴۵ ق.ظ توسط mehdi_1368.)
سلام دوستان. من از کد زیر برای ذخیره کردن عکس در حافظه تلفن استفاده میکنم. وقتی رو دکمه کلیک میکنم عکس به درستی تو شبیه ساز ذخیره میشه. اما فقط در شبیه ساز. ولی وقتی برنامه رو تو گوشی های متخلف نصب و تست میکنم نمیدونم چرا کرش میکنه برنامه و میگه برنامه متوقف شده است. بعد که پوشه های تلفن رو چک میکنم میبینم پوشه ای که تو کدنویسی تعریف کردم رو ساخته حتی عکس رو هم ذخیره کرد ولی حجم عکس صفر بایته و عکسی نشون نمیده. در واقع یه عکس خالیه که بازشم نمیکنه. مشکل کجاست دوستان؟ خواهش میکنم کمکم کنید.
کد:
public void saveimg()
{
ImageView img = (ImageView) findViewById(R.id.full_image_view);
BitmapDrawable btmpDr = (BitmapDrawable) img.getDrawable();
Bitmap bmp = btmpDr.getBitmap();
//Bitmap bm1 = BitmapFactory.decodeResource(getResources(),R.drawable.image5);
String extStorageDirectory = Environment.getExternalStorageDirectory().toString ();
File folder = new File(Environment.getExternalStorageDirectory() + "/AtlasLovePic");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
FileOutputStream outStream = null;
Random r=new Random();
File file = new File(folder,"FolderPic("+r.nextInt(1000)+")"+".JPG");
try {
outStream = new FileOutputStream(file);
//------------------ code namayesh ax dar gallery be soorate mostaghim
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://"+ folder)));
//------------------
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bmp.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
try {
outStream.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
outStream.close();
Toast.makeText(FullImageActivity.this, "عکس مورد نظر با موفقیت در گالری گوشی ذخیره شد", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}
}