我有一些加密存储(SQLite),并希望实现我自己的ContentProvider。前提条件是:
所以问题是:有可能吗?如果是,请给我一些提示如何开始。
答案 0 :(得分:1)
我不确定我完全理解你的问题,所以这个答案可能不适合你。
如果您希望用户能够选择哪些应用程序可以访问数据,请查看定义您自己的权限,其他应用程序可以像其他任何Android权限一样请求。
http://developer.android.com/guide/topics/manifest/permission-element.html
答案 1 :(得分:1)
ContentProvider无法直接显示错误消息,但它可以抛出RuntimeException并将您想要的任何消息写入RuntimeException。 RuntimeException将被分配并发送给调用者,无论是谁,都可以由他们来处理代码中的异常。
我不是100%明确你的意思“只有当工作/开始我的申请时”。遗憾的是,ContentProvider没有简单的方法与外界进行通信:您无法绑定到服务,发送意图,获取Application对象等。如果您的ContentProvider在同一进程中运行(因此与DalvikVM相同)您的应用程序然后他们可以通过公共静态字段和方法相互通信,例如:
public class MyApp extends Activity {
/** True when my app is running, can be accessed by anyone in this process */
public static boolean myAppIsRunning = false;
}
有关控制ContentProvider进程的信息,请参阅http://developer.android.com/guide/topics/manifest/provider-element.html#proc。
祝你好运。
答案 2 :(得分:0)
为什么需要ContentProvider?内容提供商的主要目的是共享数据。如果您想以您提到的方式与您的其他应用共享数据,也许您可以使用Androids 远程服务进行数据访问。它与内容提供商的关系不是很好,但我对您的用例没有其他想法。