如何从android.intent.action.SEND获取图像细节?

Roh*_*ngh 5 android metadata intentfilter android-intent android-activity

我想要这样的东西.

在此输入图像描述

不是UI,只是数据.(图像的元数据)
在Chrome浏览器或其他浏览器中,当我浏览时,我会得到网格或图片列表,当我长按任何图像时,它会显示"共享图像"选项.所以当我点击"分享图片"时.

我想要我的申请(要求)

  1. 显示在选择器对话框中.(工作)
  2. 检索有关图像的信息(标题,URL,缩略图)(不工作)

我做了相反多次(从我的应用程序共享一些链接到另一个应用程序,如Gmail,WhatsApp等).
我的问题是,它是否甚至可能?我见过很多应用程序(你可以在图中看到)并且不知道他们是如何做到的.

这是我到目前为止在代码方面所做的工作.

要求1(工作)

android.intent.action.SEND在清单中注册了intent filter 的活动.(这使我的活动出现在Chooser对话框列表中)

这是清单

<intent-filter>
       <action android:name="android.intent.action.SEND" />
       <category android:name="android.intent.category.DEFAULT" />
       <data android:mimeType="*/*" />
 </intent-filter>
Run Code Online (Sandbox Code Playgroud)

要求2(不工作)

这是用于检索数据的活动代码.

public class MyActivity extends AppCompatActivity{

    private TextView textView;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.phot_save_layout);
        textView = (TextView)findViewById(R.id.count);

        takeValueFunc();
    }

    public void takeValueFunc()
    {
        Intent shareIntent = getIntent();
        if(shareIntent.getAction().equals(Intent.ACTION_SEND))
        {
            String text = shareIntent.getStringExtra(Intent.EXTRA_TEXT);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我已经使用不同的浏览器进行了一些挖掘,并且我为同一图像读取了不同的值.
我在StackOverflow上发现了一个类似的问题如何从android.intent.action.SEND获取params

但它没有回答我的问题.:(

Ber*_*yle 0

检查链接以了解如何从其他应用程序接收数据。但是您提供的示例不适合该场景。WhatsApp 仅接收链接并自行生成预览。如果您想做同样的事情,您可以使用社交元数据或类似的服务。

  • 我已经完成了第一个链接。但它没有指定我应该使用什么键值来检索值。喜欢图片标题吗? (2认同)