我有一个应用程序。在应用程序的外部,作为第二个.apk我有一个应用程序小部件,它通过ContentProvider访问应用程序的数据库。 因此,只有安装了应用程序,app小部件才有效。
我想有以下情况:
有没有办法实现这一目标,即。在应用程序小部件清单中有一些设置? 如果没有,还有哪些其他选项/方案? 最低SDK为7,目标SDK为8。
注意:在同一个apk中同时拥有小部件和应用程序不是一个选项,因为应用程序很大并且安装到SD卡,而app小部件必须安装在内部内存中。这就是分离的原因。
答案 0 :(得分:1)
当用户尝试安装应用小部件时,安装应该中止并告知用户他也必须安装该应用。
如果通过“安装应用小部件”来表示“安装包含应用小部件的APK”,则无法做到这一点。
如果通过“安装应用小部件”意味着“将应用小部件添加到主屏幕”,您可能可以使用配置活动来安装某些内容。这或多或少会归结为评论中亚历克斯的回答。
当用户卸载应用时,也应删除应用小部件,或者
这是不可能的。
应通知用户,应用程序的Unistallation将破坏小部件。
这也是不可能的。但是,一旦用户卸载了一个APK,应用小部件APK就可以BroadcastReceiver
观看ACTION_PACKAGE_REMOVED
,然后让用户知道问题。
如果没有,还有哪些其他选项/方案?最低SDK为7,目标SDK为8。
不要使用app小部件,直到Android 3.0+成为足够的主导,你愿意将它打包在主APK中,因为“安装到外部存储”在Android 3.0 +上没有任何实际意义。