我想知道如何最好地实现一个只读的 ContentProvider。我希望我的数据源只能通过我的 ContentProvider 的其他特殊方法在我自己的应用程序中进行修改(当然不能通过 ContentResolver 访问这些方法)。换句话说,其他应用程序应该只能使用我的 ContentProvider 的查询方法,而不能插入、删除或更新。
显而易见的解决方案似乎是只返回 null/0/0 而在插入/删除/更新中什么也不做。总是在这些方法中抛出一个异常,以便清楚地传达这些操作是不允许的,会更好吗?或者是否有可能仅通过权限将对 ContentProvider 的访问限制为查询方法?