K-9邮件REFRESH观察员?

时间:2012-03-17 04:08:56

标签: android broadcastreceiver

有谁知道K9 Mail的REFRESH_OBSERVER应该如何运作?我尝试了以下测试,但是当我读/未读/删除/接收时我没有收到广播:

清单:

<receiver android:name=".Monitor">
  <intent-filter>
    <action android:name="com.fsck.k9.intent.action.REFRESH_OBSERVER"/>
  </intent-filter>
</receiver>
...
</application>
<uses-permission android:name="com.fsck.k9.permission.READ_MESSAGES" />

我也尝试过使用REFRESH_OBSERVER的scheme = email,但它没有用。

Monitor.java:

public class Monitor extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    Log.d("test", "onReceive()");
  }
}

另一方面,以下工作:

<intent-filter>
<action android:name="com.fsck.k9.intent.action.EMAIL_RECEIVED" />
<action android:name="com.fsck.k9.intent.action.EMAIL_DELETED" />
<data android:scheme="email" />
</intent-filter>

但是我真的希望在阅读消息时获取广播(用于计算未读消息),而这两者对此不够。

谢谢!

1 个答案:

答案 0 :(得分:0)

REFRESH_OBSERVER仅在src / com / fsck / k9 / K9.java中用作MessagingListener方法searchStats()的一部分,以“让观察者知道发生了提取”。它仅在使用本地搜索功能时调用。如果您想为K-9添加一些功能,请随时向我们提交补丁。见https://github.com/k9mail/k-9/wiki