Как программно обмениваться определенным видом одной карточки из приложения для Android, как приложение Google Analytics - PullRequest
0 голосов
/ 06 сентября 2018

Я работаю над приложением для Android из социальной сети и застрял в одном месте. Я хочу поделиться определенным видом карты из действия на Facebook или WhatsApp, где пользователь хочет поделиться как изображение, как приложение Google Analytics. проверьте скриншот ниже

Suppose i want to share top 2 cards then i can share like this

Предположим, я хочу поделиться двумя топ-картами, а затем могу поделиться таким образом с WhatsApp или FB, где я хочу

  1. Первая карточка
  2. Вторая карта enter image description here

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

Помогите мне решить эту проблему.

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Вы не можете поделиться «Картой» с другими приложениями, однако вы предоставляете растровое изображение (снимок экрана) карты ...

Вот как это сделать - Создайте метод, как показано ниже -

public Bitmap ViewShot(View v) {
        int height = v.getHeight();
        int width = v.getWidth();
        Bitmap b = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas (b);
        v.layout(0, 0 , v.getLayoutParams().width, v.getLayoutParams().height);
        v.draw(c);
        return b;
    }

Передать CardView в параметре View ViewShot как -

Bitmap screenshot = ViewShot(myCardView);

Теперь вы можете сохранить это растровое изображение в временном файле и поделиться им с другим приложением!

0 голосов
/ 06 сентября 2018

Если вы хотите поделиться конкретными данными этой карты, я предлагаю Firebase Dynamic Links . Я думаю, это то, что вы ищете. Вы можете создать динамическую ссылку для конкретной страницы вашего приложения и поделиться ссылкой через что угодно.

0 голосов
/ 06 сентября 2018

Создать изображение и отправить его через намерение. Простой способ создать растровое изображение представления - создать растровый объект с шириной и высотой, равными ширине представления, создать Canvas для этого растрового изображения и вызвать функцию onDraw представления, передающую этот Canvas. Это заставит вид самостоятельно рисовать растровое изображение.

...