我正在寻找一种最简单的方法来编写一个布尔函数,告诉我应用程序运行的设备是否能够使用C2DM。
我知道Android Google Play应用程序的存在可确保C2DM功能,但并非所有设备都具备此功能且仍具有C2DM功能
据我所知,该设备需要安装GSF(Google服务框架)并设置有效的GMail帐户,这些是保证C2DM可行的唯一要求。这准确吗?
如果是这样,检查GMail包和Google服务框架包的存在是否是最佳和最准确的方法?
答案 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 ;
}