我正在使用应用程序最低sdk版本3.我希望该应用程序仅支持OS 3.0(sdk - 11)或更高版本的主屏幕小部件。即,仅在小部件中显示OS 3.0或更高版本的用户。怎么做?
我已经问了一个问题,如果可能的话,请告诉我。
How to get Number of records displayed in RemoteView
答案 0 :(得分:1)
解决方案1:
发布2 APK:
android:minSdkVersion="11"
并使用您的小部件实现android:minSdkVersion="3"
且没有小部件实现的 解决方案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操作系统版本太低而无法添加小部件”。
如果您发现任何其他解决方案,请告诉我们 感谢
答案 1 :(得分:0)
我面临同样的问题。
<强>解决方案:强>
如果android os 2.2或更低版本然后制作您的数据的静态列表。
否则你必须实现listview并设置all contains。
如果您发现任何问题,请告诉我。
答案 2 :(得分:-1)
1)您可以使用Build.VERSION.SDK_INT检查操作系统版本,并将其与Build.VERSION_CODES中定义的版本代码进行比较。
2)请记住,在2.0之前的操作系统上(如果我没记错的话)ClassLoader对加载类的任何方法中提到的任何“不支持”类或方法都非常生气,即使你实际上从未调用过这些方法。因此,请确保不要导入将在1.5中使用的1.5中没有的任何内容。