android 内容提供者有用于正常嫌疑人的方法{插入、删除、查询、更新},但如果我想发送控制消息,则没有明显的机制。假设需要重置、清除和重新加载需要管理的表之一。如何才能做到这一点?我有几种方法,它们中的每一个似乎都有些骇人听闻。
1)为工作创建一个活动(或服务/接收器)。该活动执行批量删除和插入。这似乎是最简单的,但是当内容提供者启动时,数据库助手会创建表并初始化它们。
在内容提供者的数据库助手和单独的活动中复制初始化代码似乎效率低下。
2)劫持内容提供者api。可以创建一个虚拟表,其中插入(或更新/查询/删除)方法将调用否则无法访问的方法。
3)使用多重继承使内容提供者也成为服务(或活动)。这可能最接近我想要的,但我不知道该怎么做。感觉很危险,特别是如果它是一项活动。
4) 有一个与 (3) 类似的服务内容提供者对,但希望没有缺陷。该服务将有助于完成所有控制类型的事情。例如,加载查找表、清除表、清除过期元组……如果这样做了,服务将如何启动?由内容提供商?