发送带有多个附件的数据,并带有电子邮件的意图。

我有一个 FeedbackActivity.java 活动,通过多个附件(最多3张图片作为附件)接受用户的反馈。

我使用的是下面的代码。

Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);     
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, emails);                   //emails is an Array of 'String' type
intent.putExtra(Intent.EXTRA_SUBJECT, subject);                //subject is a String
intent.putExtra(Intent.EXTRA_TEXT, text)                       //text is a String
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); //uris is an ArrayList of 'Uri' type
                                                              //uris stores all Uri of images selected

if(intent.resolveActivity(getPackageManager()) != null){
    startActivity(intent);
}
else {
    Toast.makeText(this, "Not Good", Toast.LENGTH_SHORT).show();
}

现在这段代码工作得很好,但问题是它显示了所有支持 “messagerfc822 “MIME类型的应用程序。

图片如下所示。

enter image description here

我只需要显示电子邮件客户端应用程序,我试过Uri.parse(“mailto:”),但没有成功,代码总是移动到else语句,并显示吐司 “不好”。

我看了google的文档,但它只显示了简单的案例.我试着在网上搜索。许多开发者都在使用 intent.setType("*/*")intent.setType("text/plain"). 但他们也都显示除了邮件客户端以外的应用。

请指导我。

而我想问的是一般情况下。

Google文档展示了简单的例子,这在某种程度上是好的,但如何真正深入地学习这类主题?

谢谢你。

解决方案:

所以在这里,我们将使用两个Intent。selectorIntentemailIntent. selectorIntent 是什么 emailIntent 将会用来显示可用的应用程序,代码。

Intent selectorIntent = new Intent(Intent.ACTION_SENDTO);
selectorIntent.setData(Uri.parse("mailto:"));

final Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
emailIntent.putExtra(Intent.EXTRA_EMAIL, emails);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
emailIntent.setSelector(selectorIntent);
if(emailIntent.resolveActivity(getPackageManager()) != null){
    startActivity(emailIntent);
}
else {
    Snackbar.make(scrollView, "Sorry, We couldn't find any email client apps!", Snackbar.LENGTH_SHORT).show();
}

现在它将只选择电子邮件客户端的应用程序。

如果您的手机中只有一个电子邮件客户端应用程序,它将直接打开该应用程序。如果没有这样的应用程序,代码将显示Snackbar在其他部分给出。

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在Cloud Firestore中对数组进行逻辑AND的复合查询?

2022-9-9 0:00:17

未分类

awk浮点比较不工作

2022-9-9 0:00:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索