欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

如何访问其他apk的数据库

程序员文章站 2022-05-17 18:32:46
...

有些时候我们会安装一个公司的两个产品 当我们在一个软件a上登陆的话,当我们打开b软件的时候就希望自动登录 这时候就需要访问a的数据库 要想互访数据库,就必须在配置文件中设置 shareduserid 为相同的 例如:APK A 和 APK B 都是 C 公司的产品,那么如果用

有些时候我们会安装一个公司的两个产品

当我们在一个软件a上登陆的话,当我们打开b软件的时候就希望自动登录

这时候就需要访问a的数据库

要想互访数据库,就必须在配置文件中设置 shareduserid 为相同的

例如:APK A 和 APK B 都是 C 公司的产品,那么如果用户从 APK A 中登陆成功。那么打
开 APK B 的时候就不用再次登陆。 具体实现就是 A 和 B 设置成同一个 User ID:
packagename APK A 的 AndroidManifest:
package="com.Android.demo.a1"
android:sharedUserId="com.c">
packagename APK A 的 AndroidManifest:
package="com.Android.demo.b1"
android:sharedUserId="com.c">
这个"com.c" 就是user id。 APK B就可以像打开本地数据库那样打开 APK A中的数据库了。
APK A 把登陆信息存放





如何访问其他apk的数据库

如何访问其他apk的数据库

APK B 中通过 A 的 package name 就可以得到 A 的 packagecontext:
friendContext = this.createPackageContext( "com.android.demo.a1",
Context,CONTEXT_IGNORE_SECURITY);
通过这个 context 就可以直接打开数据库。