我正在使用应用程序最低 sdk 版本 3。我希望应用程序仅支持 OS 3.0(sdk - 11) 或更高版本的主屏幕小部件。即只有 OS 3.0 或更高版本的用户应显示在小部件中。如何做同样的事情?
我已经问了另外一个问题,让我知道它是否也可能。
如何获取 RemoteView 中显示的记录数
我正在使用应用程序最低 sdk 版本 3。我希望应用程序仅支持 OS 3.0(sdk - 11) 或更高版本的主屏幕小部件。即只有 OS 3.0 或更高版本的用户应显示在小部件中。如何做同样的事情?
我已经问了另外一个问题,让我知道它是否也可能。
如何获取 RemoteView 中显示的记录数
解决方案 1:
发布 2 个 APK:
android:minSdkVersion="11"
在你的清单和你的小部件实现中android:minSdkVersion="3"
在您的清单中并且没有小部件实现解决方案 2:
保留 minSdk 3 ( ) 并检查两个方法和扩展 AppWidgetProvider 的类中android:minSdkVersion="3"
的 SDK 版本。只有在.
同样的,如果你有一个App Widget Configuration Activity,在 中执行以下操作:onUpdate
onReceive
Build.VERSION.SKD_INT >= 11
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();
}
请记住,OS<3.0 的用户将在其小部件库中看到小部件,但无法添加它。因此,您可能会显示类似“您的 Android 操作系统版本太低而无法添加小部件”的 Toast。
如果您找到任何其他解决方案,请告诉我们。
谢谢
我面临同样类型的问题。
解决方案:
如果 android os 版本为 2.2 或更低,则制作数据的静态列表。
否则你必须实现 listview 并设置所有包含。
如果您发现任何问题,请告诉我。
1)您可以使用 Build.VERSION.SDK_INT 检查操作系统版本,将其与Build.VERSION_CODES中定义的版本代码进行比较。
2) 请记住,在 2.0 之前的操作系统上(如果我没记错的话)ClassLoaders 对加载类的任何方法中提到的任何“不支持”的类或方法非常生气,即使您从未真正调用过这些方法。因此,请确保不要在将在 1.5 中使用的类中导入 1.5 上不可用的任何内容。