如何将外部应用程序作为安装app小部件的要求?

时间:2012-05-06 21:42:11

标签: android installation widget manifest

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

我想有以下情况:

  1. 当用户尝试安装应用小部件时,安装应该中止并告知用户他也必须安装该应用。
  2. 当用户卸载应用时,也应删除应用小部件,或者
  3. 应通知用户,应用程序的Unistallation将破坏小部件。
  4. 有没有办法实现这一目标,即。在应用程序小部件清单中有一些设置? 如果没有,还有哪些其他选项/方案? 最低SDK为7,目标SDK为8。

    注意:在同一个apk中同时拥有小部件和应用程序不是一个选项,因为应用程序很大并且安装到SD卡,而app小部件必须安装在内部内存中。这就是分离的原因。

1 个答案:

答案 0 :(得分:1)

  

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

如果通过“安装应用小部件”来表示“安装包含应用小部件的APK”,则无法做到这一点。

如果通过“安装应用小部件”意味着“将应用小部件添加到主屏幕”,您可能可以使用配置活动来安装某些内容。这或多或少会归结为评论中亚历克斯的回答。

  

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

这是不可能的。

  

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

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

  

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

不要使用app小部件,直到Android 3.0+成为足够的主导,你愿意将它打包在主APK中,因为“安装到外部存储”在Android 3.0 +上没有任何实际意义。