2012-02-10 28 views
5

Tôi có hai tiện ích con và không có tiện ích con nào trong số đó sẽ hiển thị trong ngăn kéo ứng dụng. Điều kỳ lạ là nếu tôi loại bỏ một từ biểu hiện nó sẽ không hiển thị, nhưng tôi không thể nhìn thấy những gì tôi đang làm sai. Từ tất cả các câu hỏi khác tôi tìm kiếm nó có vẻ đúng. Ứng dụng không được cài đặt trên thẻ SD.Android: Tiện ích không hiển thị trong ngăn kéo ứng dụng ICS

Bất kỳ ai có ý tưởng nào?

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

tôi đã nhận thấy rằng khi tôi cài đặt ứng dụng mới widget của họ đôi khi không hiển thị trong phần tiện ích cho đến khi tôi khởi động lại điện thoại của mình. Đây không phải là bản xây dựng chính thức của 4.0.3, vì vậy tôi luôn cho rằng đó là điều gì đó sai với bản dựng của tôi, nhưng có thể bạn đang thấy cùng một vấn đề? – Kaediil

+1

Tôi cũng gặp vấn đề tương tự. Có vẻ như nó được lưu trữ một số cách .. – Ran

+0

Thật không may điều này không khắc phục được sự cố. – FuegoFingers

Trả lời

2

Nếu ứng dụng của bạn chỉ là appwidget, không có hoạt động nào ngoài cấu hình, bạn cần một hoạt động chính giả để làm cho appwidget của bạn xuất hiện trong ngăn kéo.

Xem vấn đề ban đầu tại Google Code: http://code.google.com/p/android/issues/detail?id=24208, câu trả lời này: Android 4.0: widgets not appearing? và cũng chủ đề thú vị này trong Android Devs Google Nhóm: https://groups.google.com/forum/?fromgroups#!topic/android-developers/bvlk3EOV6Xk (đó là khoảng Honeycomb, nhưng áp dụng cho các phiên bản 3.x Android và lớn hơn)

4

Thêm thuộc tính "minHeight" và "minWidth" vào các phần tử appwidget-provider của bạn cho từng appwidgets của bạn và xem điều này có thực hiện mẹo này cho bạn hay không.

Nếu bạn kiểm tra logcat khi chạy nó trong trình mô phỏng, bạn sẽ thấy trình khởi chạy xuất ra một thông báo về kích thước không hợp lệ và tên của tiện ích con sẽ được đính kèm vào dòng này.

Tôi vừa gặp sự cố này và đây là cách tôi đã giải quyết vấn đề (mặc dù tôi đã có một phút và tối đa được cung cấp do tai nạn). Thông điệp logcat cho biết tôi có kích thước (108, 0). Điều này dẫn tôi vào xem xét tất cả các kích thước của tôi vì nó đã la mắng tôi vì chiều cao là 0.

Đây là bài viết của tôi: App Widget not displaying in ICS app drawer

Các vấn đề liên quan