Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 您是否可以创建应用程序的免费版本和付费版本,但在用户';谁的设备?_Android - Fatal编程技术网

Android 您是否可以创建应用程序的免费版本和付费版本,但在用户';谁的设备?

Android 您是否可以创建应用程序的免费版本和付费版本,但在用户';谁的设备?,android,Android,我已经制作了两个版本的应用程序,并将每个版本上传到Play Store。它们是相同的,除了免费版本在7天后过期,而付费版本永远不会过期 我想要的是,当用户安装付费版本时,他们设备上的免费版本(如果存在)将被付费版本替换,并且用户从免费版本保存的所有SharedReference也将转移到付费版本。这可能吗?或者用户必须手动卸载免费版本并丢失所有保存的设置吗?快速的谷歌搜索导致了搜索结果。这似乎是您问题的解决方案。您不能强制卸载,但可以提示用户执行此操作。正如下面的答案所述,您可以使用内容提供商/

我已经制作了两个版本的应用程序,并将每个版本上传到Play Store。它们是相同的,除了免费版本在7天后过期,而付费版本永远不会过期


我想要的是,当用户安装付费版本时,他们设备上的免费版本(如果存在)将被付费版本替换,并且用户从免费版本保存的所有SharedReference也将转移到付费版本。这可能吗?或者用户必须手动卸载免费版本并丢失所有保存的设置吗?

快速的谷歌搜索导致了搜索结果。这似乎是您问题的解决方案。

您不能强制卸载,但可以提示用户执行此操作。正如下面的答案所述,您可以使用内容提供商/文件提供商从另一个应用程序获取SharedReference。但是,除非你以某种方式验证某个用户已经使用了7天,否则他们可以再次下载该应用程序,再下载7天。如果您正在验证是否可以使用1个应用程序,正如你可以区分付费用户和免费用户的区别一样。@avalerio有没有关于如何实现内容提供商来传递共享首选项的教程?我还没有看到一个教程专门针对这一点,当Google不推荐Context.MODE\u WORLD\u READABLE时,他们说从现在开始使用内容提供商。这似乎是另一个解决方案,我的工作,因为你拥有这两个应用程序。47票以上的答案告诉你怎么做,但被接受的答案给出了一些好消息,如果你使用它,你会很高兴知道。@avalerio使用此方法是否允许我自动卸载我的应用程序,而无需提示用户这样做@avalerio我尝试了你发布的答案,但没有使用它,因为android说“共享用户ID会导致包管理器中的不确定性行为。因此,强烈反对使用它,并可能在未来的android版本中删除。”快速谷歌搜索并没有说明如何做到这一点