【问题标题】:Sharing files/ installation directory between two apps在两个应用程序之间共享文件/安装目录
【发布时间】:2012-09-21 12:51:46
【问题描述】:

我在 Android 上有两个应用程序需要在它们之间共享少量文件。现在我通过 ftp 服务器共享文件。

有没有一种方法可以相互验证这些应用程序,以便它们可以查看彼此的安装目录?

谢谢。 AAT

【问题讨论】:

    标签: android authentication sharing data-sharing


    【解决方案1】:

    您需要在两个应用的清单中设置android:sharedUserId 并使用相同的证书对其进行签名:

    将与其他应用程序共享的 Linux 用户 ID 的名称。默认情况下,Android 会为每个应用程序分配其自己的唯一用户 ID。但是,如果两个或多个应用程序的此属性设置为相同的值,则它们都将共享相同的 ID——前提是它们也由相同的证书签名。具有相同用户 ID 的应用程序可以访问彼此的数据,并且如果需要,可以在同一进程中运行。

    【讨论】:

    • 此常量在 API 级别 29 中已弃用。
    【解决方案2】:

    版本 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();
    }
    

    这两种方式都适用,您可以在应用程序之间共享您的偏好

    【讨论】:

    • 我不确定这会有什么帮助。共享首选项文件/文件与共享文件完全不同。
    • 使用 MODE_WORLD_READABLE 标志将允许 所有 应用程序读取首选项,而不是仅在 2 个应用程序之间共享。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多