2012-09-28 78 views

回答

-1

1)你可以用Build.VERSION.SDK_INT檢查操作系統版本,把它比作在Build.VERSION_CODES定義的版本代碼。 2)請記住,在2.0之前的操作系統(如果我沒記錯的話),ClassLoaders對任何一個加載類的方法中提到的任何'不支持'的類或方法非常生氣,即使你從未實際調用過這些類方法。所以請確保你不要在1.5中使用1.5中沒有的東西。

+0

但問題是,通過這樣做,將有一個小工具在3.0以下的操作系統列表..我不想這 –

+0

那麼這就是檢查操作系統版本 - 如果它高於3.0你刪除小工具(或者,如果版本低於,則默認關閉)。 – smok

1

解決方案1:
發佈2周的APK:

  • 一個與android:minSdkVersion="11"在您的清單,並與您的widget實現
  • 另外一個在你的清單android:minSdkVersion="3"並沒有widget實現

解決方案2:
保留minSdk 3(android:minSdkVersion="3")並在擴展AppWidgetProvider的類的兩個方法onUpdateonReceive中檢查SDK版本。只有在Build.VERSION.SKD_INT >= 11才能完成這項工作。
以同樣的方式,如果你有一個App Widget Configuration Activity,做onCreate()如下:

if (Build.VERSION.SDK_INT < 11) { 
    setResult(RESULT_CANCELED); 
    Toast.makeText(this, getString(R.string.widget_error_cannot_be_installed), Toast.LENGTH_LONG).show(); 
    finish(); 
} 

只要記住用戶與操作系統< 3.0將看到他們的小工具庫中的小部件,但將不能夠添加它。所以你可能會顯示Toast的內容,比如「你的Android操作系統版本太低而無法添加小部件」。

讓我們知道您是否找到任何其他解決方案。
謝謝

0

我面臨着同樣類型的問題。

解決方案:

如果Android操作系統版本2.2或更低,然後讓你的數據的靜態列表。

否則你必須實現listview並設置所有包含。

如果您發現任何問題,請告訴我。

相關問題