Android 访问另一个应用程序';使用sharedUserId保存数据

Android 访问另一个应用程序';使用sharedUserId保存数据,android,Android,我有一个已经上市的应用程序,我们称之为“旧应用程序”。我想创建一个“新应用程序”,与我决定使用SharedID的旧应用程序共享数据 我更改了新应用程序的清单,添加了以下行: android:sharedUserId="com.myname.myoldapp" 其中com.myname.myoldapp是旧应用程序包的名称。但它不起作用 如何使用新应用访问旧应用数据? 更改旧应用程序的用户ID以匹配新应用程序的shareduserid显然不是一个选项,因为旧应用程序已经在线,所有更新它的用户都将

我有一个已经上市的应用程序,我们称之为“旧应用程序”。我想创建一个“新应用程序”,与我决定使用SharedID的旧应用程序共享数据

我更改了新应用程序的清单,添加了以下行:

android:sharedUserId="com.myname.myoldapp"
其中com.myname.myoldapp是旧应用程序包的名称。但它不起作用

如何使用新应用访问旧应用数据? 更改旧应用程序的用户ID以匹配新应用程序的shareduserid显然不是一个选项,因为旧应用程序已经在线,所有更新它的用户都将丢失其个人数据

PS:证书是一样的

谢谢

我有一个已经上市的应用程序,我们称之为“旧应用程序”。我想创建一个“新应用程序”,与我决定使用SharedID的旧应用程序共享数据

如果不破坏所有现有安装,这将不再可能

我更改了新应用程序的清单,添加了以下行:android:sharedUserId=“com.myname.myoldapp” 其中com.myname.myoldapp是旧应用程序包的名称。但它不起作用

如果您阅读,您将看到有人告诉您:“但是,如果两个或多个应用程序的此属性设置为相同的值,它们将共享相同的ID”(我的重点)。由于您的旧应用没有
android:sharedUserId
,因此无法将新应用设置为旧应用的
android:sharedUserId

如何使用新应用访问旧应用数据


使用
服务
。或
内容提供者
。或者Android支持的任何其他形式的IPC。旧应用程序需要公开基于IPC的API,新应用程序可以使用该API访问旧应用程序的数据。您可以使用自定义
签名
级别的权限来限制仅对您的应用程序访问这些API。

如果我将旧应用程序的SharedReferences设置为MODE_WORLD_WRITEABLE,两个应用程序共享首选项是否就足够了?@BeppiMenozzi:是的,设备上的每个其他应用程序都可以操作这些首选项。请使用安全的API。