0

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

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

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

如果是这样,检查 GMail 包和 Google Services Framework 包的存在是否是最好和最准确的方法?

4

1 回答 1

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 ;
}
于 2012-05-29T11:59:36.180 回答