我需要做的是创建一个应用程序,根据发件人为每个传入的 Gmail 生成自定义通知声音。因此,我需要在收到新邮件时收到通知,并获取电子邮件发件人的 email_id 或名称。我想到的几个解决方案是,
1) Gmail 标签 API - 但它不提供有关内部电子邮件或通知的信息。2) 使用具有 READ_GMAIL 权限的内容解析器 - 我认为 Gmail 已停止访问较新的 Gmail 版本。3) 阅读通知栏或通知监听器 - Android 不允许阅读通知栏。
有没有其他解决方法可以解决这个问题?
我需要做的是创建一个应用程序,根据发件人为每个传入的 Gmail 生成自定义通知声音。因此,我需要在收到新邮件时收到通知,并获取电子邮件发件人的 email_id 或名称。我想到的几个解决方案是,
1) Gmail 标签 API - 但它不提供有关内部电子邮件或通知的信息。2) 使用具有 READ_GMAIL 权限的内容解析器 - 我认为 Gmail 已停止访问较新的 Gmail 版本。3) 阅读通知栏或通知监听器 - Android 不允许阅读通知栏。
有没有其他解决方法可以解决这个问题?
我不确定,希望这会对你有所帮助
contentResolver.registerContentObserver(Uri.parse("content://gmail- ls"), true, _gmailObserver);
_gmailObserver是你自己的ContentObserver对象。
ContentObserver.onChange每次 Gmail 发生变化时都会调用。在这里,您会得到所有这样的对话:
Cursor conversations = _contetResolver.query(Uri.parse("content://gmail-ls/conversations/" + YourEmailAddress, null, null, null, null);
实际的对话消息将是:
Cursor messages = _contetResolver.query(Uri .parse("content://gmail-ls/conversations/" + YourEmailAddress + "/" + String.valueOf(conversationId) + "/messages"), null, null, null, null);
这是不可能的,至少通过任何记录和支持的方式是不可能的。