0

我有一个应用程序。在应用程序外部,作为第二个 .apk,我有一个应用程序小部件,它通过 ContentProvider 访问应用程序的数据库。因此,只有在安装了应用程序后,应用程序小部件才有效。

我想有以下情况:

  1. 当用户尝试安装应用程序小部件时,安装应该中止并通知用户他也必须安装应用程序。
  2. 当用户卸载应用程序时,应用程序小部件也应该被删除,或者
  3. 应该通知用户,应用程序的卸载将破坏小部件。

有没有办法做到这一点,即。在应用小部件清单中有一些设置?如果没有,还有哪些其他选项/方案可用?最低 SDK 为 7,目标 SDK 为 8。

注意:不能将小部件和应用程序放在同一个 apk 中,因为应用程序很大并且安装到 SD 卡上,而应用程序小部件必须安装在内部存储器上。这就是分开的原因。

4

1 回答 1

1

当用户尝试安装应用程序小部件时,安装应该中止并通知用户他也必须安装应用程序。

如果“安装应用小部件”是指“安装包含应用小部件的 APK”,这是不可能的。

如果“安装应用程序小部件”的意思是“将应用程序小部件添加到主屏幕”,那么您也许可以使用配置活动来装配一些东西。这或多或少会归结为亚历克斯在评论中的回答。

当用户卸载应用程序时,应用程序小部件也应该被删除,或者

这是不可能的。

应该通知用户,应用程序的卸载将破坏小部件。

这也是不可能的。但是,一旦用户卸载了一个 APK,应用小部件 APK 就可以BroadcastReceiver查看ACTION_PACKAGE_REMOVED,然后让用户知道问题所在。

如果没有,还有哪些其他选项/方案可用?最低 SDK 为 7,目标 SDK 为 8。

在 Android 3.0+ 变得足够主导以至于您愿意将其打包到主 APK 之前,请不要打扰应用程序小部件,因为“安装到外部存储”在 Android 3.0+ 上没有实际意义。

于 2012-05-06T22:52:50.717 回答