【问题标题】:Widget won't work/install小部件无法工作/安装
【发布时间】:2013-11-11 13:42:54
【问题描述】:

我的小部件无法安装。我正在尝试使用 android 安装主屏幕小部件。我已将 widgetprovider 与配置类一起放入清单中。它只是没有出现在小部件列表中,因此我无法安装它!控制台没有错误。

更新小部件接收器在清单中。但是甚至没有创建小部件,那有什么意义呢?小部件不会被创建!

我已经创建了布局,创建了小部件信息文件并填写了字段,在清单中注册了它,创建了类,它仍然无法工作。

    <receiver
        android:name=".WidgetProvider"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.appwidget.action.WIDGET_PROVIDE" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/widget_info"/>
    </receiver>
    <activity
      android:name=".WidgetConfig"
      android:label="@string/app_name" >
      <intent-filter>
          <action android:name="android.appwidget.action.WIDGET_CONFIG" />
          <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </activity>

【问题讨论】:

  • 首先,不要尝试将您的应用程序安装在外部存储上(不知道您是否尝试这样做)。包含小部件的应用程序必须安装在内部存储上。
  • 其次,有时您需要为Android启动同一个应用程序的MainActivity才能意识到您也有一个小部件。第三,请在问题中包含您的清单。
  • 我只是将代码放在问题中。

标签: android android-widget widget homescreen


【解决方案1】:

您的清单中有错误。意图过滤器应包含

action android:name="android.appwidget.action.APPWIDGET_UPDATE"

不是: action android:name="android.appwidget.action.WIDGET_PROVIDE"

如果您有多个小部件提供程序,则每个提供程序都需要包含此操作的自己的接收器。这是一个小部件提供者的示例:

<receiver android:name=".WidgetProvider"
   android:label="@string/app_name">
         <intent-filter>
             <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
         </intent-filter>
         <meta-data android:name="android.appwidget.provider" android:resource="@layout/widget_provider_2x1"/>
     </receiver>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    相关资源
    最近更新 更多