如何通过更改用户模式来查询应用程序的数据库

时间:2019-06-10 13:57:20

标签: android

假设有三个android应用程序(A,B,C)。 App A是系统应用程序,并且与所有者模式具有相同的UID,而App B不是系统应用程序,并且对于所有者模式和用户模式具有不同的UID。 App C的数据库可根据调用过程的UID提供数据。

现在假设我以所有者模式在App C中存储了一些数据。当我通过应用程序A和B查询应用程序C的数据库时,在所有者模式下运行时,两者都显示相同的结果。

现在,我将手机切换到用户模式。当我通过应用程序A查询应用程序C的数据库时,会得到结果,因为数据以所有者模式保存并且应用程序A具有所有者UID。但是,当我通过应用程序B查询数据库时,它没有返回任何结果,因为应用程序B现在具有新用户的UID。 现在我想要的是应用程序A和B在用户模式下的行为也相似。

是否可以通过更改当前用户的模式或其他任何方式通过ContentResolver查询数据库?

我试图在应用A中创建应用B的上下文,然后查询该上下文,但这没有帮助。

Context appBContext = appAContext.createPackageContext("com.example.appB", 0);
Cursor c = appBContext.getContentResolver().query(....);

我的预期结果是,当应用程序A查询数据库时,它不应获取任何数据。

0 个答案:

没有答案