gpt4 book ai didi

Android - 如何通过检查已发送的项目来确定是否发送了电子邮件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:50:35 25 4
gpt4 key购买 nike

我有一个应用程序,我使用如下所示的 Intent 发送电子邮件:

//TODO attach and send here
try {

Log.i(getClass().getSimpleName(), "send task - start");

String address = "emailHere@yahoo.com";
String subject = "Order of " + customer + " for " + date;
String emailtext = "Please check the attached file. Attached file contains order of " + customer;

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { address });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailtext);

ArrayList<Uri> uris = new ArrayList<Uri>();
Uri uriList = Uri.fromFile(orderListFile);
uris.add(uriList);

emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

this.startActivity(Intent.createChooser(emailIntent, "Send mail..."));

}
catch (Throwable t) {
Toast.makeText(this, "Request failed: " + t.toString(),
Toast.LENGTH_LONG).show();
}

现在,用户选择他或她想要使用哪个应用程序来发送该电子邮件。但是,一旦选定的电子邮件应用程序接管,我知道没有办法确定电子邮件是否已正确发送。在这里的几个问题中已经讨论过,使用 startActivityForIntent() 没有帮助,因为 RESULT_OK 永远不会由 EMail 或 GMail Ap 发送,所以我不知道用户是否已发送、丢弃或将电子邮件保存为草稿。

但是,一种可能的解决方法是检查该电子邮件帐户的已发送邮件,并从那里检查用户是否发送了电子邮件。现在,有没有办法知道Android中电子邮件帐户的已发送项目?在过去的一个小时里,我一直在进行谷歌搜索,但似乎什么也找不到。

最佳答案

您无法检查 Email ContentProvider 的内容,因为这需要只有系统应用程序才能请求的权限。这在 AndroidManifest for Email 中定义:

<permission
android:name="com.android.email.permission.ACCESS_PROVIDER"
android:protectionLevel="signature"
android:label="@string/permission_access_provider_label"
android:description="@string/permission_access_provider_desc"/>

<application>

<!-- This provider MUST be protected by strict permissions, as granting access to
it exposes user passwords and other confidential information. -->
<provider
android:name=".provider.EmailProvider"
android:authorities="com.android.email.provider;com.android.email.notifier"
android:exported="true"
android:permission="com.android.email.permission.ACCESS_PROVIDER"
android:label="@string/app_name"
/>

</application>

关于Android - 如何通过检查已发送的项目来确定是否发送了电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24006749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com