Android ACTION_SEND 对于每个应用程序发送不同的文本

5

我正在使用具有ACTION_SEND功能的Intent,需要分享不同的文本。我需要为Gmail发送一段文本,同时需要为Twitter发送另一段文本,这取决于应用程序。在应用程序发送共享文本之前,我能否获取用户选择的应用程序?


可能是Android Intent for Twitter application的重复问题。 - Matthew
Twidroid的ACTION_SEND意图 - Muhammad Usman Ghani
请查看https://dev59.com/jWkw5IYBdhLWcg3wqMY1#18068122。 - matiash
3个回答

4

是的,在应用程序发送共享文本之前,您可以获取用户选择的应用程序。为此,您需要进行一些解决方法,即:

您需要通过以下方式获取支持此意图的应用程序列表:

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
List activities = getPackageManager().queryIntentActivities(sharingIntent,0);

通过获取列表,我们可以构建警报对话框,然后为不同的应用程序创建监听器。

3
一般情况下,您不能确定哪个应用程序将接收到您的ACTION_SEND意图。 这篇答案解释了为什么您可能不应该基于预测用户最终会进入哪个应用程序来进行自定义。 这篇答案解释了TwiDroyd的解决方法,您可能不应该使用它,但在短期内可能会对您有所帮助。

0

我不知道如何获取用户选择的应用程序来发送某些内容。

但是,您可以使用IntentResolver编程选择要打开您的意图的apk。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接