1

我正在开发两个具有登录功能的应用程序,例如 APP1 和 APP2 我想要登录用户会话,该会话登录到 APP1 中,例如 Facebook 应用程序和 Facebook Messenger 应用程序。

如何与 APP2 共享我的 APP1 登录会话?

4

1 回答 1

1

我可以给出以下场景

1)两个应用程序应具有相同的 APPUSERID。

APP2的工作流程要从APP1读取数据

1)需要APP1的安装信息。(获取 PackageManager)

2)调用ApplicationInfo.getApplicationInfo(获取元数据)

脚步

1)将APP2中要访问的内容保存在APP1中的一个文件中。

这是在APP1

FileOutputStream fos = null
File file = null;
file = getFilesDir();
fos = openFileOutput("my.txt", Context.MODE_PRIVATE);
String text = "hello";
fos.write(text.getBytes());

在 APP2

String packageName = "your.package.name.of.app1";  

2)然后加载APP1中保存的文件

PackageManager packageManager = getPackageManager();

ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA);

String filePath = appInfo.dataDir + "/files/my.txt";

3)然后使用读取文件

FileInputStream fis = new FileInputStream (new File (filePath));
// Please write the further code

4) APP1 和 APP2 中的用户 ID 相同,即packag="x.y.z"在两个应用程序中写入以下行后AndroidManifest.xml

android:sharedUserID = "a.b.c"; // 确保在两个应用程序清单文件中都包含此行。这里a.b.cx.y.z是原始数据。

PS:我没有处理异常。

于 2015-04-23T10:41:19.603 回答