2012-02-10 90 views
5

我有两个小工具,它们都不会显示在应用程序抽屉中。奇怪的是,如果我从清单中删除一个,它也不会出现,但我不明白我做错了什么。从我搜索的所有其他问题看起来都是正确的。该应用程序未安装在SD卡上。Android:小工具未显示在应用程序抽屉中ICS

任何人有任何想法?

的AndroidManifest.xml

<receiver 
     android:name=".appwidgets.WidgetLarge" 
     android:label="@string/Widget_large" 
     android:icon="@drawable/icon" > 
     <intent-filter> 
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="com.groggs.action.CACHE_UPDATE_FINISHED" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="WIDGET_UPDATE" /> 
      <data android:scheme="content" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.appwidget.provider" 
      android:resource="@xml/widget_large_info" /> 
    </receiver> 

    <receiver 
     android:name=".appwidgets.WidgetSmall" 
     android:label="@string/Widget_small" 
     android:icon="@drawable/icon" > 
     <intent-filter> 
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="com.groggs.action.CACHE_UPDATE_FINISHED" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="WIDGET_UPDATE" /> 

      <data android:scheme="content" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.appwidget.provider" 
      android:resource="@xml/widget_small_info" /> 
    </receiver> 

widget_large_info.xml

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:maxWidth="450dp" 
    android:maxHeight="352dp" 
    android:updatePeriodMillis="0" 
    android:initialLayout="@layout/widget_layout_large" 
    android:configure="com.groggs.appwidgets.config.HubQuickViewWidgetConfig" > 
</appwidget-provider> 

widget_small_info.xml

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
    android:maxWidth="450dp" 
    android:maxHeight="82dp" 
    android:updatePeriodMillis="0" 
    android:initialLayout="@layout/widget_layout_small" 
    android:configure="com.groggs.appwidgets.config.HubQuickViewWidgetConfig" > 
</appwidget-provider> 
+2

我注意到,当我安装新的应用程序及其部件有时不显示在小部件部分,直到我重新启动了我的手机。这不是4.0.3的官方版本,所以我总是认为它是我的版本有问题,但也许你看到了同样的问题? – Kaediil 2012-02-10 20:48:10

+1

我也有同样的问题。似乎它缓存一些如何.. – Ran 2012-02-11 20:29:20

+0

不幸的是,这并没有解决问题。 – FuegoFingers 2012-02-13 16:33:49

回答

2

如果你的应用只是一个appwidget,除了配置之外没有任何活动,你需要一个虚拟的主要活动来让你的appwidget出现在抽屉里。

见谷歌代码原来的问题:http://code.google.com/p/android/issues/detail?id=24208,这样的回答:Android 4.0: widgets not appearing?也是这个有趣的线程在Android的谷歌离散事件组:https://groups.google.com/forum/?fromgroups#!topic/android-developers/bvlk3EOV6Xk(它是关于蜂窝,但适用于Android的版本3.x和更高版本)

4

将“minHeight”和“minWidth”属性添加到您appwidget的appwidget-provider元素中,并查看它是否适合您。

如果您在模拟器中运行logcat时检查logcat,您应该注意到启动器会输出关于无效尺寸的消息,并且您的小部件的名称将被附加到该行。

我刚刚有这个问题,这是我如何解决它(虽然我有一分钟和最大的意外提供)。 logcat消息说我有一个维度(108,0)。这导致我到看我所有的尺寸,因为它是在我喊高度为0

这是我的帖子: App Widget not displaying in ICS app drawer