0

我需要做的是创建一个应用程序,根据发件人为每个传入的 Gmail 生成自定义通知声音。因此,我需要在收到新邮件时收到通知,并获取电子邮件发件人的 email_id 或名称。我想到的几个解决方案是,

1) Gmail 标签 API - 但它不提供有关内部电子邮件或通知的信息。2) 使用具有 READ_GMAIL 权限的内容解析器 - 我认为 Gmail 已停止访问较新的 Gmail 版本。3) 阅读通知栏或通知监听器 - Android 不允许阅读通知栏。

有没有其他解决方法可以解决这个问题?

4

2 回答 2

2

我不确定,希望这会对你有所帮助

  1. 您需要注册一个内容观察者(不是广播接收者)

contentResolver.registerContentObserver(Uri.parse("content://gmail- ls"), true, _gmailObserver);

_gmailObserver是你自己的ContentObserver对象。

  1. 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); 
于 2013-06-04T09:49:54.287 回答
0

这是不可能的,至少通过任何记录和支持的方式是不可能的。

于 2013-06-04T09:47:22.907 回答