我正在使用應用程序最低sdk版本3.我希望應用程序支持OS 3.0(sdk - 11)或更高版本的主屏幕小部件。即只有OS 3.0或更高版本的用戶才應顯示在小部件中。如何做同樣的事情?使用SDK版本11或更高版本的Android主屏幕小部件僅
我已經問了一個問題,讓我知道它是否可能。
How to get Number of records displayed in RemoteView
我正在使用應用程序最低sdk版本3.我希望應用程序支持OS 3.0(sdk - 11)或更高版本的主屏幕小部件。即只有OS 3.0或更高版本的用戶才應顯示在小部件中。如何做同樣的事情?使用SDK版本11或更高版本的Android主屏幕小部件僅
我已經問了一個問題,讓我知道它是否可能。
How to get Number of records displayed in RemoteView
1)你可以用Build.VERSION.SDK_INT檢查操作系統版本,把它比作在Build.VERSION_CODES定義的版本代碼。 2)請記住,在2.0之前的操作系統(如果我沒記錯的話),ClassLoaders對任何一個加載類的方法中提到的任何'不支持'的類或方法非常生氣,即使你從未實際調用過這些類方法。所以請確保你不要在1.5中使用1.5中沒有的東西。
解決方案1:
發佈2周的APK:
android:minSdkVersion="11"
在您的清單,並與您的widget實現android:minSdkVersion="3"
並沒有widget實現解決方案2:
保留minSdk 3(android:minSdkVersion="3"
)並在擴展AppWidgetProvider的類的兩個方法onUpdate
和onReceive
中檢查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操作系統版本太低而無法添加小部件」。
讓我們知道您是否找到任何其他解決方案。
謝謝
我面臨着同樣類型的問題。
解決方案:
如果Android操作系統版本2.2或更低,然後讓你的數據的靜態列表。
否則你必須實現listview並設置所有包含。
如果您發現任何問題,請告訴我。
但問題是,通過這樣做,將有一個小工具在3.0以下的操作系統列表..我不想這 –
那麼這就是檢查操作系統版本 - 如果它高於3.0你刪除小工具(或者,如果版本低於,則默認關閉)。 – smok