2016-09-13 2 views
-1

Я пытаюсь разделить растровое изображение через intent, нажав кнопку совместного доступа, которую я сделал в activity. В первый раз он правильно разделяет растровое изображение, но если я снова нажму кнопку «Мой общий ресурс» и попытаюсь поделиться другим растровым изображением, он делится предыдущим растровым изображением.Обмен растровым изображением через намерение не очищает предыдущую растровую карту

Здесь qrCodeFrame - это мой FrameLayout, и я меняю цвет раскладки динамически, и после chaning я создаю растровое изображение этого макета, а затем передаю его с помощью намерения.

private void share() { 

    qrCodeFrame.setDrawingCacheEnabled(true); 
    qrCodeFrame.buildDrawingCache(); 
    Bitmap bitap = qrCodeFrame.getDrawingCache(); 
    String pathofBmp = MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), bitap, "QR code", "Scan this QR code"); 
    Uri bmpUri = Uri.parse(pathofBmp); 
    final Intent emailIntent1 = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    emailIntent1.putExtra(Intent.EXTRA_STREAM, bmpUri); 
    emailIntent1.putExtra(Intent.EXTRA_SUBJECT, "Any Subject"); 
    emailIntent1.putExtra(Intent.EXTRA_TEXT, SharedPreference.getFacebookDataObtainedFromServer(getActivity()).getUserName() + " invites you to join."); 
    emailIntent1.setType("image/png"); 
    startActivity(emailIntent1); 
} 
+2

Не могли бы вы поместить код для нас? – gkmohit

ответ

0

Наконец-то я получил свой ответ.

Я вносил изменения в макет и делил растровое изображение этого макета с помощью намерения. Этот процесс я делал снова и снова, не используя следующие две вещи.

qrCodeFrame.invalidate(); qrCodeFrame.requestLayout();

так, к сожалению, я делал растровое изображение предыдущей компоновки не обновленной компоновки.

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