如何在Android真机上检测是否有Google Map add-on

如何在Android真机上检测是否有Google Map add-on

 

 

原文地址: http://www.cnblogs.com/gansc23/archive/2011/02/28/1967207.html  

并不是所有的Android真机中都带有Google Map add-on,要想内置Google Map add-on是需要和google商谈的。

    但是若我们开发一个使用到了Google Map add-on的Android应用程序(即使用了<uses-library android:name="com.google.android.maps" />),就会发现这个程序不能成功安装在没有内置Google Map add-on的真机中,那么我们有什么办法来解决这个问题呢?


方法有两个:

1)维护两条代码分支:
    一条分支是针对于内置有Google Map add-on的Android真机,另一条分支是没有内置有Google Map add-on的Android真机。
但是这样做会增加维护成本,而且粗心的用户可能会在自己的机器上安装了不匹配的分支,从而降低了软件的友好度。

2)仍然只保留一条代码分支:
    国外一位大牛指出:在<uses-library>标签中还包含了一个没有公布的属性"android:required",你可以将com.google.android.maps库的这个属性设置为false,即:

<!-- The "android:required" attribute was added in API level 5 (Android 2.0) -->
<uses-library android:name="com.google.android.maps" android:required="false" />


    这代表如果在目标机器上内置了Google Map add-on,则可以正常使用应用;如果目标机器没有内置Google Map add-on,也可以成功安装应用。但是开发人员需要在代码中自行判断Google Map add-on是否可用,举例如下:

try {
    Class.forName("com.google.android.maps.MapActivity");
} catch (Exception e) {
    Toast.makeText(MainActivity.this, "Oop! google地图不可用", Toast.LENGTH_SHORT).show();
    return;
}

Intent intent = new Intent();
intent.setClass(MainActivity.this, MyMapActivity.class);
startActivity(intent);
 
Unity游戏上架Google Play:AAB+PAD资源加载性能优化实战 在移动应用开发中,资源分发与加载优化是提升用户体验的关键环节。Android App Bundle(AAB)作为Google Play的官方发布格式,通过动态生成设备专属APK,大幅缩减了应用安装包体积。其核心机制Play Asset Delivery(PAD)则实现了资源的按需分发,支持安装时、快速跟进和按需交付三种模式,从原理上改变了传统APK一次性打包所有资源的做法。这项技术的核心价值在于平衡安装包大小与运行时性能,既能提高下载转化率,又能灵活管理大型游戏资源。在实际应用场景中,开发者常面临资源加载延 阅读详情

相关推荐

Ionic 4真机联调实战:DevApp免USB一键同步与调试

混合应用开发中,WebView容器与原生桥接的协同验证是核心挑战。Ionic DevApp作为预编译、预签名的Cordova容器,通过HTTP+WebSocket双通道实现`www`资源实时同步,使前端代码在真实iOS WKWebView和Android System WebView中运行,完整复现权限模型、传感器访问、插件桥接等原生行为。其技术价值在于填补开发-测试鸿沟,让H5逻辑在真机环境提前暴露StatusBar适配、Cordova插件兼容性、iOS 17状态栏逻辑等典型问题。适用于医疗、政务、教育等

weixin_34242331的博客 525

判断是否安装了Google地图

判断是否安装了Google地图,没有弹出Dialog提示安装: /** * For Google Maps Check * * @return */ private boolean isGoogleMapsInstalled() { try { ApplicationInfo info = getPackageManager().getApplica

gundumw100的专栏 1123

安卓HTTPS抓包终极指南:从系统证书安装到突破证书固定

HTTPS协议通过SSL/TLS加密保障了网络通信的安全,其核心原理在于数字证书的验证机制,确保数据传输的机密性与完整性。在移动应用开发、测试与安全研究领域,能够解密和分析HTTPS流量对于调试接口、性能优化和安全审计具有极高的技术价值。然而,自Android 7.0起,系统默认不再信任用户安装的CA证书,这为常规抓包设置了障碍。本文聚焦于解决这一核心难题,详细阐述了如何将抓包工具(如Charles)的CA证书安装为系统证书,从而实现对绝大多数App标准HTTPS流量的解密。进一步地,针对采用证书固定技术的

weixin_30319153的博客 424

Android多开/分身检测

多开/分身原本用于方便有多个微信/QQ解决同时登录的问题,但近来年被各种黑产所利用,多见于薅羊毛,部分多开App甚至提供了篡改功能。对于普通用户根本不会有多开的需求的App,一旦检测到当前运行在多开环境下,有理由限制该用户的后续行为。在尝试了目前市面上多款多开App后,总结了几种检测方案。

hcgeng的专栏 2338

Android端部署Gemma 3 270M:LiteRT离线推理实战指南

大语言模型(LLM)在移动端的本地化部署,正从概念验证迈向工业级落地。其核心在于平衡模型能力、推理延迟、内存占用与设备功耗四大维度。LiteRT作为Google专为移动AI优化的轻量级推理运行时,通过预编译二进制模型(.task)、硬件感知内存布局及Q8量化支持,显著降低加载开销与峰值内存——相比TensorFlow Lite,实测节省超65%初始化内存。Gemma 3 270M则代表一类新型‘够用即止’的指令跟随模型:参数量精准卡位中端SoC缓存边界,兼顾语法正确性与毫秒级响应,在金融话术生成、医疗摘要、

weixin_33782386的博客 3790

Unity AR Foundation入门:30分钟实现AR平面检测与物体放置

增强现实(AR)技术通过计算机视觉与传感器融合,将虚拟信息叠加到真实世界,其核心原理在于环境感知与虚实融合。在移动开发领域,AR Foundation作为Unity的跨平台AR框架,封装了ARKit与ARCore的底层接口,为开发者提供了统一的API,极大降低了AR应用开发门槛。其技术价值在于实现了“一次开发,多端部署”,并能通过SLAM(即时定位与地图构建)技术实时理解环境几何结构。典型的应用场景包括产品展示、教育互动与游戏体验。本文以AR Foundation为核心工具,结合平面检测与射线投射技术,手把

weixin_30251829的博客 338

Android逆向——过frida检测+so层算法逆向

过frida检测 so层des算法分析 so层md5算法分析

weixin_43889136的博客 1万+

STM32中RS485方向控制引脚应用详解

深入解析STM32如何通过GPIO控制RS485通讯的方向引脚,实现半双工通信的精准切换。重点讲解硬件连接与软件时序配合,确保rs485通讯稳定可靠,适用于工业控制等实际场景。

weixin_42451850的博客 398

判断当前手机系统是否支持google map a

----------------------------------------------------------------------------------------------------------------------------------------------------------------  并不是所有的Android真机中都带有Google Map add-o

breeze666的专栏 1346

从选型到调试:MCU外部晶振电路设计的实战避坑指南

本文详细解析了MCU外部晶振电路设计的关键要点,从选型到调试提供全面指南。重点探讨了晶振频率选择、负载电容计算、PCB布局优化等核心问题,并分享常见故障排查技巧与EMC设计经验,帮助工程师规避设计陷阱,提升嵌入式系统时钟稳定性。

weixin_30872577的博客 276

(赛事-2022)[re:Invent 2018]-002:通过分析log多次迭代优化奖励函数后- 最快7.6s / 圈

Deepracer training 流程

Rainbow 4711

Android运行时权限详解:从原理到真机适配的完整实践

Android运行时权限是自API 23起强制实施的用户授权机制,其核心在于将权限授予时机从安装阶段延至功能触发时刻,以保障用户隐私与数据主权。该机制基于危险权限分组模型,依赖Manifest声明、ContextCompat校验、shouldShowRequestPermissionRationale逻辑判断及ActivityResultLauncher回调处理,形成完整的请求-响应-降级闭环。技术价值体现在提升应用合规性、增强用户信任度,并为Google Play审核与国内厂商ROM(如小米HyperOS

weixin_33696106的博客 456

将一维数据(序列)转化为二维数据(图像)的方法汇总GAFS, MTF, Recurrence plot,STFT

虽然深度学习方法(1D CNN, RNN, LSTM 等)可以直接处理一维数据,但是当前的深度学习方法主要还是处理二维结构数据的,特别是在计算机视觉CV以及自然语言处理NLP领域,各种各样的方法层出不穷。因此,如果能够将一维序列数据转化为二维(图像)数据, 则可以直接结合CV以及NLP领域的方法,是不是很有趣! GAF, GASF, GADF, MTF, Recurrence Plot, STFT, 短时傅里叶变换

MasterQKK 5万+

Android Studio集成AI编程助手实测:从Claude/Codex配置到真机运行全流程

集成开发环境(IDE)是现代软件工程的核心工具,它通过代码编辑、调试、构建等一体化功能提升开发效率。其工作原理在于将编译器、调试器等工具链深度整合,为开发者提供连贯的工作流。随着人工智能技术的发展,AI编程助手开始与IDE结合,通过理解代码上下文和开发者意图,实现智能代码补全、逻辑解释和自动化建议,显著提升编码效率并降低重复劳动。在Android开发领域,将AI助手集成到Android Studio中,能够帮助开发者快速生成样板代码、解释复杂API、重构代码逻辑,尤其适用于快速原型开发、单元测试编写和代码审

weixin_33800463的博客 428

生物信息学名词解释 | K-mer (长度为k的短序列)

K-mer 何谓K-mer 所谓Kmer,即为一段长度为k的DNA片段,是由测序reads剪切一部分得到的。k为一个奇数,k=几,就为几mer。 比如:我的测序reads长度为100bp,我将这100bp打断成17bp的短片段,打断后的17bp段片段就叫17mer,可以获得(100-17+1)条k-mer序列。 Table1 k-mers for GTAGAGCTGT. k k-mers 1 G,T,A,G,A,G,C,T,G,T 3 GTA,TAG,AGA,GAG,AGC,GCT,CT

qq_50637636的博客 2万+

uniapp - 解决在线预览PDF文件空白打不开的问题,无论是后端下载二进制文件流pdf还是本地插件或JS预览查看打开白屏不显示,详细排查解决(适用于移动端H5网页、安卓/苹果app、微信小程序)

uniapp App端 实现pdf文件预览打开白屏解决,uniapp 在线预览pdf打开一片空白,跨域白屏,uni-app中使用WebView预览PDF文件打开空白,微信小程序(uniapp)预览PDF空白怎么办,下载PDF文件流后打开空白或无法打开的问题,Uniapp H5网页下载二进制pdf文件页面空白以及解决文件损坏打不开的情况,Uniapp app在线预览pdf文件流,PDF加载出来怎么办,服务器后端返回PDF文件流后前端进行下载但打开后一片白屏,解决pdf文件流,预览全是空白页,pdf文件流,下载

🏆 前端领域优质创作者 1万+

地图选择及地图偏移解决方案(三)

(转)如何在Android真机上检测是否有Google Map add-on   原文链接:http://www.cnblogs.com/gansc23/archive/2011/02/28/1967207.html   在开发应用的过程中,发现部分厂商的部分机器并没有内置Google Map服务(system/framework下缺少文件com.google.andro...

iteye_10032的博客 325

8. Spring Ai之入门到精通(超级详细)

Spring AI 1.0.0 M1里程碑版本发布,标志着 Java 终于踏进Ai的时代半只脚。

gorgor在码农 3万+
上一篇: Android:Thread & Handler 线程 消息循环(转载)
下一篇: WP7
berkshirman
博客等级 码龄19年 41粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值