3

要使 C2DM 工作,设备显然必须处于 API 级别 8。但是,这真的需要在该级别编译应用程序吗?与 C2DM 一起使用的代码都不需要任何级别 8 的 API。那么是否有可能拥有一个较低级别的应用程序,可能是 API 级别 4 或 6,并让它尝试进行 C2DM 注册?可能在 API 级别较低的设备上注册失败,希望可以检测到这种情况,以便可以使用替代机制。但是,对于 API 级别 8 或更高级别的设备,注册不应该成功吗?我在这里尝试做的是利用 C2DM,同时仍然在第 4 级编译,这样我的应用程序就可以接触到最多的用户。理想情况下,这是可能的,我可以检测到设备何时不支持 C2DM,并做出相应的反应。

4

2 回答 2

2

您可以使用android.os.Build.VERSION.SDK我相信确定设备支持的最高级别 API 并分别处理 API 8 和 <8,而无需用户处于某个 API 级别来安装应用程序。

于 2010-10-30T23:23:37.720 回答
0

对于现在遇到此问题的任何人- android.os.Build.VERSION.SDK 现在已弃用,但您可以改用 android.os.Build.VERSION.SDK_INT ,如下所示:

    int current_sdk = android.os.Build.VERSION.SDK_INT;

    if (current_sdk >= android.os.Build.VERSION_CODES.FROYO) {
        registerForC2DM(activity);
    }

以下是您可以使用的所有版本代码的参考:http: //developer.android.com/reference/android/os/Build.VERSION_CODES.html

于 2011-12-16T17:35:22.197 回答