android - 是否有可能只有当用户解锁应用程序的专业版时才能使用的小部件?

标签 android android-widget android-manifest android-appwidget

我的应用程序有两个小部件,我想在主屏幕小部件列表中隐藏其中一个,除非用户购买了该应用程序的专业版(通过应用程序内付费完成)。

由于小部件必须在 list 中声明,然后在用户创建小部件时出现在列表中,有什么方法可以防止“高级”小部件显示,除非条件已满足?

解决它的一种方法是将其保留在列表中,允许用户创建它,然后将布局设置为在尚未解锁时只说“升级到专业版”而不是使用其正确的布局。我不太喜欢这个选项,因为它不是很好的用户体验,最好避免使用它。

最佳答案

您可以使用 setComponentEnabledSetting:

http://developer.android.com/reference/android/content/pm/PackageManager.html#setComponentEnabledSetting(android.content.ComponentName , 整数, 整数)

所以将它添加到 list (禁用)并在用户付款时启用它

关于android - 是否有可能只有当用户解锁应用程序的专业版时才能使用的小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25364402/

相关文章:

Android:从服务器下载图像

android - 使用 android 服务更新小部件

android - 如果应用程序关闭,如何停止 BroadcastReceiver

android - fragment transaction - pop backstack 然后添加 fragment

android - NoWhenBranchMatchedException 在 Kotlin 中具有详尽的 `when` block

android - 定位确定/取消按钮,使它们模仿对话框中的布局

android - 多个 Intent 的未决 Intent 打开错误的 Activity

android - 如何在 Canvas 的右下角绘制小标志类型的图像?

android - 当应用程序处于后台时, Activity 在“最近”中不可见

Android 在Manifest 中添加<uses-feature>