Android - 将应用程序安装位置从 SD 卡更改为内部存储的影响?

Android - Impact of changing app install location from SD card to internal storage?

我正在开发一款上市 Android 应用程序,该应用程序长期以来一直允许安装在内部或外部存储设备上。但是,该应用程序包含多个小部件,因此我们确实应该阻止它安装在外部存储上。我们经常收到有关小部件消失或其他行为不当(SD 卡安装的已知问题)的投诉,因此我认为我们需要取消外部存储选项。

我的问题是:

  1. 在我们从允许外部切换到要求内部(在清单中更改 installLocation = "auto" -> "internalOnly" 之后,现有用户会发生什么情况?这里有什么陷阱吗,或者 OS 只是将应用程序移动到内部存储? 编辑: 从我的有限测试来看,假设有足够的内部存储空间,这似乎可以顺利运行。在我更改为 "internalOnly" 并更新应用程序后,它已从 SD 卡无缝移动到内部存储,没有发生任何事件或用户通知。
  2. 如果现有用户没有足够的内部存储空间用于更新后的应用程序怎么办?他们会得到 "insufficient storage available" 错误,还是更糟的错误?

如果内存可用,应用程序将移动到 phone 的内部存储,否则会抛出错误 "insufficient storage available"