0

我正在使用应用程序最低 sdk 版本 3。我希望应用程序仅支持 OS 3.0(sdk - 11) 或更高版本的主屏幕小部件。即只有 OS 3.0 或更高版本的用户应显示在小部件中。如何做同样的事情?

我已经问了另外一个问题,让我知道它是否也可能。
如何获取 RemoteView 中显示的记录数

4

3 回答 3

1

解决方案 1:
发布 2 个 APK:

  • 一个android:minSdkVersion="11"在你的清单和你的小部件实现中
  • 另一个android:minSdkVersion="3"在您的清单中并且没有小部件实现

解决方案 2:
保留 minSdk 3 ( ) 并检查两个方法和扩展 AppWidgetProvider 的类中android:minSdkVersion="3"的 SDK 版本。只有在. 同样的,如果你有一个App Widget Configuration Activity,在 中执行以下操作:onUpdateonReceiveBuild.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。

如果您找到任何其他解决方案,请告诉我们。
谢谢

于 2013-03-08T11:44:54.587 回答
0

我面临同样类型的问题。

解决方案:

如果 android os 版本为 2.2 或更低,则制作数据的静态列表。

否则你必须实现 listview 并设置所有包含。

如果您发现任何问题,请告诉我。

于 2013-03-15T06:24:05.660 回答
-1

1)您可以使用 Build.VERSION.SDK_INT 检查操作系统版本,将其与Build.VERSION_CODES中定义的版本代码进行比较

2) 请记住,在 2.0 之前的操作系统上(如果我没记错的话)ClassLoaders 对加载类的任何方法中提到的任何“不支持”的类或方法非常生气,即使您从未真正调用过这些方法。因此,请确保不要在将在 1.5 中使用的类中导入 1.5 上不可用的任何内容。

于 2012-09-28T12:36:01.030 回答