如何通过编程方式(例如Google Analytics(分析))从Android应用共享特定的1张卡片活动视图

时间:2018-09-06 05:58:27

标签: android android-layout screenshot android-cardview

我正在使用社交网络的android应用程序,并且被困在一个地方。 我想将活动中的特定卡片视图共享到Facebook或whatsapp,无论用户希望将其共享为Google Analytics(分析)应用程序的图像。 检查下面的屏幕截图

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

假设我要共享前2张卡,那么我可以在需要时将其共享给whatsapp或fb

  1. 第一张卡
  2. 第二张卡 enter image description here

首先,我想获取应用程序的屏幕截图并将其共享给用户的社交应用程序,但与要求不符,我也不知道我们如何实现这一目标。

帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

您无法与其他应用共享“卡”,但是共享卡的位图(屏幕截图)...

这是操作方法- 创建如下所示的方法-

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传递给ViewShot的View参数,例如-

Bitmap screenshot = ViewShot(myCardView);

现在您可以将该位图保存到Temp文件中,并与其他应用共享!

答案 1 :(得分:0)

创建图像并通过意图将其发送。创建视图位图的一种简单方法是创建一个宽度和高度与视图相等的位图对象,为该位图创建一个Canvas,并调用传入该Canvas的视图的onDraw函数。这将使View绘制到位图上。

答案 2 :(得分:0)

如果您想共享该卡的特定数据,我的建议是Firebase Dynamic Links。我认为这就是您想要的。您可以为应用程序的特定页面创建动态链接,并通过所需的链接共享该链接。