3

我计划Google Cloud Messaging在我的应用程序中实现,该应用程序只运行Android 2.2及以上。这包括修改清单文件。

如果我的应用程序要在 运行Android 2.1,它会立即显示一个强制关闭对话框。我可以知道如何阻止这种情况发生吗?

目前可能的解决方案:

  1. 在 Google Play Publisher 中维护 2 个不同版本的 apk(我没有尝试过,但它似乎有更多的作品)
  2. 使用 GCM 替代方案?

我希望我的应用程序可以支持 Android 2.1 及更高版本,并且只向用户显示警告消息,例如“要使用此功能,您必须获得 Android 2.2 及更高版本”,特别是运行 GCM 的 Activity。

4

2 回答 2

3

如果您的应用也可以在没有 GCM 的情况下运行,那么您应该仅在版本为 2.2 或更高版本时注册 GCM。我猜以下几行以“快速失败”的方式抛出异常。

GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);

免责声明:我没有尝试过。

于 2012-08-06T05:55:07.473 回答
0

您可以获得您的应用程序在其中运行的 Android 版本的设备:

  • 自:API 级别 4

    android.os.Build.VERSION.SDK_INT      
    
  • 自:API 级别 1 ( This is deprecated.)

    android.os.Build.VERSION.SDK
    

编辑
当您知道设备的 Android 版本时,您可以在第一个 Activity 中决定应用程序必须正常运行或必须向用户显示消息。

您还可以查看有关Application backward compatibility.

于 2012-08-06T03:16:09.617 回答