2016-10-05 2 views
0

Я пытаюсь создать действительно простое приложение, которое позволяет пользователям писать на изображении и сохранять его в своей галерее. И я попробовал код ниже. И это вызывает ошибку и не может сохранить изображение.Невозможно сохранить изображение изображения в галерее .. (eglSurfaceAttrib не реализовано) .. (android)

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 


switch(item.getItemId()){ 
    case R.id.savebutton: 
      Bitmap bitmap = ((BitmapDrawable)imagecp.getDrawable()).getBitmap(); 


      saveBitmap(bitmap); 

    default: 
     return super.onOptionsItemSelected(item); 


} 

public void saveBitmap(Bitmap bmp) { 
    String _time = ""; 
    Calendar cal = Calendar.getInstance(); 
    int millisecond = cal.get(Calendar.MILLISECOND); 
    int second = cal.get(Calendar.SECOND); 
    int minute = cal.get(Calendar.MINUTE); 
    int hourofday = cal.get(Calendar.HOUR_OF_DAY); 
    _time = "image_" + hourofday + "" + minute + "" + second + "" 
      + millisecond + ".png"; 
    String file_path = Environment.getExternalStorageDirectory() 
      .getAbsolutePath(); 
    try { 
     File dir = new File(file_path); 
     if (!dir.exists()) 
      dir.mkdirs(); 
     File file = new File(dir, _time); 
     FileOutputStream fOut = new FileOutputStream(file); 
     bmp.compress(Bitmap.CompressFormat.PNG, 90, fOut); 
     fOut.flush(); 
     fOut.close(); 
     Toast.makeText(getApplicationContext(), 
       "Image has been saved in Couponmaker folder", 
       Toast.LENGTH_LONG).show(); 
    } catch (Exception e) { 
     Toast.makeText(getApplicationContext(), 
       "saving failed", 
       Toast.LENGTH_LONG).show(); 
     Log.e("error in saving image", e.getMessage()); 
    } 
} 

и сообщение об ошибке

E/error in saving image﹕ /storage/0C11-3814/image_162259256.png: open failed: EACCES (Permission denied) 
W/EGL_emulation﹕ eglSurfaceAttrib not implemented 
W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xad78df60, error=EGL_SUCCESS 
E/Surface﹕ getSlotFromBufferLocked: unknown buffer: 0xab7dd67 W/art﹕ Suspending all threads took: 13.866ms 

XML файл

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

<application 
    android:allowBackup="true".... 

ответ

0

Я верю в Зефир, внешний каталог устройства каталог SD-карты. Я пытался писать на SD-карте, но не смог. Потому что они не позволяют этого делать (я где-то читал, но я не могу добавить ссылку здесь, так как я забыл). Галерея не обязательно считывает изображение с внешнего хранилища. В этом случае ответьте на эту проблему: How to save image in android gallery

Смежные вопросы