java - 捕获特定的文本共享意图
问题描述
我正在开发一个从 Instagram 下载图像的 Android 项目。我的问题是我想捕获简单的文本共享意图,或者如果可能的话,捕获由我的应用程序中包含任何 Instagram URL 的任何应用程序共享的意图。这是我在清单中所做的:
<activity
android:name=".MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<action android:name="dev.anirban.instagramdownloader.MainActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="*instagram.com"
android:scheme="https" />
<data
android:host="*instagram.com"
android:scheme="http" />
</intent-filter>
</activity>
例如,我想从这些类型的应用程序中捕获共享意图:
但是,当我单击共享/发送到选项时,IntentChooser
不显示我的应用程序,如下所示:
我安装了我的应用程序,为了测试它,我运行了以下 shareIntent 代码,这运行良好,并在列表中弹出了我的应用程序IntentChooser
:
String url = "https://www.instagram.com/p/CNxiok1FBP4/"; //Test URL
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
我希望我的应用程序在IntentChooser
有人尝试分享文本时显示出来,或者如果文本与作为主机的任何 instagram.com URL 匹配会更好。我怎样才能做到这一点?
解决方案
推荐阅读
- azure - 无法将 dotnet core web api 应用发布到 Azure AppService
- windows - winget 源代码库的结构
- c# - '访问被拒绝' IIS 杀死 Windows 进程
- java - 是否缺少正确对齐我的输出的值?
- variables - Apache Tomcat:在 Solaris 11.4 (csh) 上从 7.0.77 升级到 8.5.51
- mysql - 如何在 Node.js 中异步/等待“main”函数,该函数使用 mysql 查询将输出驱动到多个文件?
- postgresql - PostgreSQL 的 Docker 重启策略
- r - R Shiny - 如何使用数据框和变量作为输入(反应输入)获取一个变量的级别
- c# - 从 USPS 地址验证 API 反序列化 XML 时忽略根元素名称
- css - shopify 有多个变体未显示正确的数量。怎么修