【发布时间】:2012-09-21 12:51:46
【问题描述】:
我在 Android 上有两个应用程序需要在它们之间共享少量文件。现在我通过 ftp 服务器共享文件。
有没有一种方法可以相互验证这些应用程序,以便它们可以查看彼此的安装目录?
谢谢。 AAT
【问题讨论】:
标签: android authentication sharing data-sharing
我在 Android 上有两个应用程序需要在它们之间共享少量文件。现在我通过 ftp 服务器共享文件。
有没有一种方法可以相互验证这些应用程序,以便它们可以查看彼此的安装目录?
谢谢。 AAT
【问题讨论】:
标签: android authentication sharing data-sharing
您需要在两个应用的清单中设置android:sharedUserId 并使用相同的证书对其进行签名:
将与其他应用程序共享的 Linux 用户 ID 的名称。默认情况下,Android 会为每个应用程序分配其自己的唯一用户 ID。但是,如果两个或多个应用程序的此属性设置为相同的值,则它们都将共享相同的 ID——前提是它们也由相同的证书签名。具有相同用户 ID 的应用程序可以访问彼此的数据,并且如果需要,可以在同一进程中运行。
【讨论】:
版本 1 (com.example.v1):
使用以下标志调用 SharedPrefences:
getSharedPreferences(PREFS_NAME, MODE_WORLD_READABLE | MODE_MULTI_PROCESS);
免费版(com.example.v2):
try {
mContext = createPackageContext("com.example.game.v2", 0);
mSharedPrefs = mContext.getSharedPreferences(PREFS_NAME, MODE_WORLD_READABLE | MODE_MULTI_PROCESS);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
这两种方式都适用,您可以在应用程序之间共享您的偏好
【讨论】: