当我点击地图的链接时,我的应用程序正在关闭,因为没有安装地图应用程序。如何在应用程序启动时发出警报,他们无法使用未安装地图应用程序的地图。
谢谢,
答案 0 :(得分:2)
你需要创建一个这样的方法
public boolean isPackageExisted(String targetPackage) {
PackageManager pm = getPackageManager();
try {
PackageInfo info = pm.getPackageInfo(targetPackage,
PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
return false;
}
return true;
}
然后检查
if (isPackageExisted("com.google.android.maps")) {
// Map application is available
} else {
// Map application is not available
}
答案 1 :(得分:0)
当我点击地图的链接时。我的应用程序正在关闭,因为没有安装地图应用程序。
如果此“链接”触发ACTION_VIEW
Intent
,可能在geo
Uri
上,请创建Intent
并使用PackageManager
和resolveActivity()
以查看设备上的某些内容是否可以处理它。如果resolveActivity()
返回null
,您知道startActivity()
的{{1}}会崩溃,因此您可以采取适当的措施。
答案 2 :(得分:0)
尝试:
if(isGoogleMapsInstalled){
//do your job
}else{
//display toast or whatever you want
}
public boolean isGoogleMapsInstalled()
{
try
{
ApplicationInfo info = getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0 );
return true;
}
catch(PackageManager.NameNotFoundException e)
{
return false;
}
}