Java 存储邮件的最佳方式(本机应用程序)
我想开发一个消息应用程序,它将显示来自本机内容提供商(sms uri)的消息和从我的应用程序发送的消息。 我在管理这些信息时遇到了困难。我尝试了下面的想法,但请建议哪一个是最好的 以下是我使用的观察者代码:Java 存储邮件的最佳方式(本机应用程序),java,android,sqlite,android-contentprovider,Java,Android,Sqlite,Android Contentprovider,我想开发一个消息应用程序,它将显示来自本机内容提供商(sms uri)的消息和从我的应用程序发送的消息。 我在管理这些信息时遇到了困难。我尝试了下面的想法,但请建议哪一个是最好的 以下是我使用的观察者代码: public class MyObserver extends ContentObserver { public MyObserver(Handler handler) { super(handler); } @Override public
public class MyObserver extends ContentObserver {
public MyObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
Log.e("uri","change");
this.onChange(selfChange, null);
}
@Override
public void onChange(boolean selfChange, Uri uri) {
// do s.th.
// depending on the handler you might be on the UI
// thread, so be cautious!
Log.e("uri",""+uri.toString());
}
}
Uri uri = Uri.parse("content://sms/");
getContentResolver().registerContentObserver(uri,true,new MyObserver(new Handler()));
1.我已将所有本机消息和A2A消息保存在数据库中,因此很容易显示,但我在同步本机消息时遇到问题,因为没有用于消息删除的广播侦听器
2.第二个选项是两个选项,只在数据库中保存一条消息,但从两个不同的位置(数据库和内容提供商,以及管理以显示类似收件箱的视图)获取消息既复杂又耗时
3.第三种方法是使用自定义消息类型在内容提供商中保存所有应用到应用的消息,并仅显示来自内容提供商的所有消息
请指导我这方面的工作。1。您可以将ContentObserver与ContentProvider一起使用来检测SMS删除。@GaurawYadav您好,感谢您的回复,但我尝试实现了observer,但在消息被删除时它没有被调用。请发布代码。@GaurawYadav已更新了代码用法content://mms-sms/conversations 作为uri,看看它是否对您有帮助。