Android,寻找一种简单的方法来准确判断设备是否支持C2DM?

时间:2012-05-29 11:50:21

标签: android android-c2dm

我正在寻找一种最简单的方法来编写一个布尔函数,告诉我应用程序运行的设备是否能够使用C2DM。

我知道Android Google Play应用程序的存在可确保C2DM功能,但并非所有设备都具备此功能且仍具有C2DM功能

据我所知,该设备需要安装GSF(Google服务框架)并设置有效的GMail帐户,这些是保证C2DM可行的唯一要求。这准确吗?

如果是这样,检查GMail包和Google服务框架包的存在是否是最佳和最准确的方法?

1 个答案:

答案 0 :(得分:1)

非常快,但概念仍然存在,如果您希望只是搜索Google服务框架的存在,您可以使用以下内容。

我只发布这个,因为AFAIK没有其他明显的方法。

 boolean installed  =   appInstalledOrNot("com.google.process.gapps");
        if(installed)
        {
                  System.out.println("App installed on phone");
        }
        else
        {
            System.out.println("App is not installed phone");
        }
    }
    private boolean appInstalledOrNot(String uri)
    {
        PackageManager pm = getPackageManager();
        boolean app_installed = false;
        try
        {
               pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
               app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e)
        {
               app_installed = false;
        }
        return app_installed ;
}