【问题标题】:Android: Couldn't add widgetAndroid:无法添加小部件
【发布时间】:2017-12-28 22:21:33
【问题描述】:

我正在创建一个启动器,在我托管小部件的活动中,我遵循了这个惊人的教程http://coderender.blogspot.com.eg/2012/01/hosting-android-widgets-my.html(我相信这是唯一的一个),我必须在我的活动中添加一些小部件,但是并非所有人都成功添加,一些小部件(如数字时钟、双时钟等)在我的活动中显示一个灰色条,内部消息“无法添加小部件”,一些小部件为(Netflix 小部件) 在我的活动中成功显示一秒钟或更短时间,然后在其位置显示相同的灰色条并显示相同的消息。

我试图搜索谷歌,但我什至清除了 Netflix 应用程序的现金,但仍然没有问题。

我正在使用 Android 5.0 在 Note 3 上进行测试...使用

compileSdkVersion 26

buildToolsVersion "26.0.1"

compile 'com.android.support:appcompat-v7:26.0.1'

我是否必须在我的 AndroidManifest.xml 中添加必要的权限才能让我的活动托管小部件?这可能是这个问题的根源吗?

提前谢谢你。

【问题讨论】:

  • 有人知道可能是什么原因吗?我一直在调查,认为可能是某些东西删除了导致这种效果的这些小部件,但我检查了它们并没有删除它们,只是没有预览。
  • 知道其他启动器作为 Microsoft Launcher 可以正确预览它们,因此它们不是损坏的小部件。
  • 我将我的代码与 Android Launcher 源代码进行了比较,没有明显差异。

标签: android widget


【解决方案1】:

我遇到了同样的问题。 This answer 与您的问题类似。

@dasfima 对该问题的回答为我解决了这个问题:

将管理器和主机的上下文更改为应用程序上下文而不是活动上下文。

AppWidgetManager = AppWidgetManager.getInstance(getApplicationContext());
mAppWidgetHost = new AppWidgetHost(getApplicationContext(), APPWIDGET_HOST_ID);

它在我的应用程序中就像一个魅力。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    相关资源
    最近更新 更多