2013-11-22 3 views
2

Я смог сделать функцию, которая берет фотографию макета и сохраняет ее на телефоне. Но я не могу получить, чтобы поделиться им в той же функции. Вот мой код:Поделитесь последним сохраненным растровым изображением

public Bitmap loadBitmapFromView(View v) { 
     Bitmap b = Bitmap.createBitmap(
       v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); 
     Canvas c = new Canvas(b); 
     v.layout(0, 0, v.getWidth(), v.getHeight()); 
     v.draw(c); 

     try { 
      MediaStore.Images.Media.insertImage(getContentResolver(), b, "image.png" , "screenshot"); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
} 

И я захватить фото с:

final Button btn = (Button)findViewById(R.id.btnShare); 
    btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      loadBitmapFromView(view); 
     } 
    }); 

Но я хочу, чтобы сделать эту кнопку, чтобы поделиться растровым OnClick. Позвоните по последнему сохраненному растровому изображению и поделитесь им. Возможно ли это?

+0

В чем проблема при обмене? Вы не можете получить растровое изображение, которое хотите поделиться или что? – Blackbelt

+0

Где вы хотите поделиться, Возможно ли это –

+0

Я хочу быть в состоянии сделать намерение поделиться. И получите последнее сохраненное растровое изображение в качестве изображения для совместного использования. Нравится это: Цель намерения = новое намерение (Intent.ACTION_SEND); intent.setType ("text/plain"); intent.putExtra (Intent.EXTRA_TEXT, b); startActivity (Intent.createChooser (намерение, «текст заголовка диалога»)); – Dennis

ответ

0

Я продал проблему. Я сделал uri растрового изображения и поделился им с намерением, и это сработало.

public Bitmap loadBitmapFromView(View v) { 
    Bitmap b = Bitmap.createBitmap(
      v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(b); 
    v.layout(0, 0, v.getWidth(), v.getHeight()); 
    v.draw(c); 

    try { 
     String path = MediaStore.Images.Media.insertImage(getContentResolver(), b, "image.png", "screenshot"); 
     Uri uri = Uri.parse(path); 
     Intent intent = new Intent(Intent.ACTION_SEND); 
     intent.setType("image/png"); 
     intent.putExtra(Intent.EXTRA_STREAM, uri); 
     startActivity(Intent.createChooser(intent , "Share")); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return b; 
} 
Смежные вопросы