2011-03-12 49 views
0

我在菜單「desktop-> add-> widget->」中使用widgets時遇到了一些問題。 我不明白爲什麼我的小部件不能在小屏幕(ldpi)上訪問,以及它何時移動到SD卡上。 清單 Android,widgets無法使用的原因

<application android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" android:process="@string/app_name" 
     android:persistent="true" android:debuggable="false" 
     android:description="@string/app_desc"> 
     <receiver android:name="widget.Widget_4_1" android:label="Rozmiar 4x1"> 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
      </intent-filter> 
      <meta-data android:name="android.appwidget.provider" 
       android:resource="@xml/widget_provider_4_1" /> 
     </receiver> 
    </application> 

    <uses-sdk android:minSdkVersion="4" /> 
    <supports-screens android:smallScreens="true" 
     android:normalScreens="true" android:largeScreens="true" 
     android:anyDensity="true" /> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
</manifest> 

控件提供者

<?xml version="1.0" encoding="utf-8" ?> 
<appwidget-provider 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="294dip" 
    android:initialLayout="@layout/widget41" 
    android:updatePeriodMillis="@string/UpdatePeriod" 
    android:minHeight="72dip"/> 

佈局

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/Widget41" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal|center" 
    android:background="@drawable/frame41" 
    android:layout_width="wrap_content" 
    android:orientation="vertical"> 

    <TextView android:id="@+id/widgettextview41" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal|center" 
     android:textColor="@android:color/black" 
     android:text="@string/widget_loading" 
     android:padding="10dip" 
     android:layout_marginLeft="10dip" 
     android:layout_marginRight="10dip" 
     android:textSize="5pt" /> 
</LinearLayout> 

任何幫助表示讚賞

回答

1

重:移動到SD卡和丟失的部件

http://developer.android.com/guide/appendix/install-location.html#ShouldNot 」 ......你不應該允許對外部存儲器安裝了應用程序,如果它使用下列任一功能...應用小工具。 ..「

即,這是一個已知和記錄的限制。

重:LDPI,

不知道這是否會爲您解決,但如果在使用-SDK設置的minSdkVersion到什麼是適當的,並設置targetSdkVersion的東西高(例如11,說明蜂窩COMPAT),然後您不需要支持屏幕作爲targetSdkVersion有效地暗示/設置targetSdkVersion支持的所有大小的默認值。

+0

ldpi上的小部件問題仍然沒有解決(這個線索並沒有幫助)。感謝您提供有關「ShouldNot」的參考:) – zawart 2011-03-12 17:44:15

+0

是您的提供商中的minWidth對於ldpi設備來說太大了嗎?把它回到一個更小的數字來測試 – SteelBytes 2011-03-15 08:28:23

1

我最近有同樣的問題。問題在於窗口小部件提供程序中的android:updatePeriodMillis的值。看起來你不能從這個地方的資源引用一個值。因此用實際數字(例如1800000)替換參考可以解決問題。

這與SE 2.1 Xperia X10迷你親工作。在運行Android 2.2的設備上我沒有這樣的問題。