精华内容
下载资源
问答
  • 刚接触百度地图api,今天用eclipse连真机调试,正常定位,但是用别人的小米打开app的时候闪退。我分别换了4.4和5.0都是一样。这是用小米调试时的错误信息: 04-27 18:22:29.038: E/AndroidRuntime(20471): FATAL ...
  • 导读:HMS Core是华为面向开发者提供的开放能力合集,包括账号、支付、Push、地图等核心能力。华为通过HMS Core全面开放“芯-端-云”的能力,帮助开发者实现高效开发、快速增长...

    导读:HMS Core是华为面向开发者提供的开放能力合集,包括账号、支付、Push、地图等核心能力。华为通过HMS Core全面开放“芯-端-云”的能力,帮助开发者实现高效开发、快速增长、商业变现,使能开发者创新,助力开发者高效构建精品的应用。

    作者:王希海 望岳 吴海亮 等

    来源:大数据DT(ID:hzdashuju)

    HMS Core从开发、增长和盈利三个环节为开发者提供支持。

    • 开发环节,提供账号、定位、机器学习等基础能力,帮助开发者快速构建高质量的移动应用;

    • 增长环节,提供Push、分析等能力,协助开发者精细化运营;

    • 盈利环节,提供应用内支付、广告等能力,助力开发者实现商业变现。

    图2-1展示了HMS Core开放能力框架。

    ▲图2-1 HMS Core视图

    HMS Core不断开放出新的能力,建议读者从开发者联盟官网选择需要的各类开放能力。下面通过实例来了解框架中的一些常用开放能力。

    01 开发:低成本快速构建优质应用

    本节介绍在App开发阶段常用的一些HMS开放能力,帮助开发者了解如何快速低成本地构建App,打造一款高质量的产品。

    1. Account Kit

    当用户开始体验一个移动App时,往往会因为烦琐的注册流程而中途退出,但通过了解用户的身份进而为其提供个性化体验,对于App而言又是十分必要的。如何平衡用户体验与获取用户之间的这种矛盾?Account Kit(华为账号服务)能帮你解决这个问题,其应用场景如图2-2所示。

    Account Kit在遵循OAuth 2.0(Open Authorization,开放式授权)和OpenID Connect(OIDC)等国际标准协议的基础上,为用户提供了简单、安全的登录授权功能,用户只需一键点击授权,就能通过华为账号快速登录应用,避免了烦琐的注册登录操作。

    1. 当用户重启应用时,华为账号默认是自动登录的状态,无须再次授权,这能帮开发者大大降低应用注册和登录环节的用户流失率。

    2. 在账号安全方面,Account Kit采用双因素身份验证的方式,对数据进行全流程加密,保障了全球范围内账号登录安全和隐私合规。

    3. Account Kit拥有覆盖全球的海量活跃用户,帮助开发者充分利用华为全场景生态平台的优势,在手机、平板、大屏、车机等各种华为终端设备上进行应用登录。

    ▲图2-2 Account Kit应用场景

    2. FIDO

    有了账号后,很多App在登录或者遇到支付场景时,往往需要进行身份验证,以确保账户或资金的安全。传统方式是通过输入密码来进行身份验证,但是使用密码存在一定的安全风险,并且对于不少用户来说,要牢牢记住密码也是一件困难的事情。

    那么,有没有一种既安全又便捷的身份验证方式呢?华为FIDO服务可以解决这个问题。

    FIDO为开发者提供了两个主要特性:线上快速身份验证(FIDO2)和本地生物特征认证(BioAuthn),可以支撑“在线用户身份验证”和“本地身份验证”两类场景(见图2-3)。

    ▲图2-3 FIDO应用场景

    3. Map、Site和Location

    在电商、快递物流、旅游和社交等场景中,地图服务、位置服务和定位服务是App不可缺少的功能。如电商App,通过定位和地图,用户可快速定位位置、添加地址信息。对于旅游类App,搜索地点,了解详情,寻找周边的酒店、美食等是用户常用的功能。

    华为Map Kit(地图服务)、Site Kit(位置服务)和Location Kit(定位服务)为这些App提供了基础软件能力。Map Kit和Site Kit都是基于地图的数据为开发者提供服务。

    • Map Kit提供地图呈现、地图绘制、地图交互、自定义地图样式和路径规划。

    • Site Kit提供丰富的地点数据,通过周边搜索、关键字搜索、地点详情查询和地理编码等查询能力帮助用户探索世界。

    • Location Kit采用GPS、Wi-Fi、基站等多途径的混合定位模式进行定位,精准地获取用户位置信息,提供融合定位、活动识别和地理围栏等功能。

    以3个场景来举例说明上述Kit的组合使用(见图2-4)。

    • 场景1:基于Location的定位数据,结合Site Kit能力可以进行附近地址的搜索。

    • 场景2:基于Location的定位数据,结合Map Kit能力可以进行路径规划。

    • 场景3:基于Site Kit的PoI(Point of Information,关注点)数据,结合Map Kit能力进行地图的绘制。

    ▲图2-4 Map、Site和Location应用场景

    除了这几个场景外,开发者可以基于实际的业务需要来对这些能力进行个性化的组合使用,全面提升应用的服务体验。

    4. Safety Detect

    今天,用户不仅关注App的功能体验,还关注App的使用安全。App所运行的设备是否安全,App是否会感染病毒,App是否会被攻击而泄露隐私,这些关注点已变成开发者必须考虑的因素。

    如何才能做好安全防护,保护用户的数据安全呢?

    Safety Detect覆盖多维度安全检测开放服务,包括系统完整性检测、应用安全检测、恶意URL检测和虚假用户检测,助力快速构建应用安全,保护用户数据安全。图2-5所示为Safety Detect应用场景。

    ▲图2-5 Safety Detect应用场景

    02 增长:持续提升用户量和活跃度

    通常开发者在运营一款App时,需要通过实时消息推送来保持与用户的黏性,进而提升用户的留存率和活跃度,持续做大用户流量。而实际情况下,针对海量用户群体的消息触达,往往面临两个比较突出的问题:

    • 一是如何在较短的时间内触达海量目标用户,实现“推得到”“推得快”和“推得准”;

    • 二是如何根据用户的标签、分组等维度向特定的人群进行消息推送,并准确获得用户使用效果反馈。

    针对以上问题,让我们来看下华为Push服务是如何解决的。

    1. 依托华为全球化的数据中心部署,华为Push服务覆盖多达200多个国家和地区,推送容量单日百亿级,推送速度达千万级/秒。

    2. 基于华为终端EMUI提供系统级的消息通道,即使在应用未启动的情况下,消息也可以正常接收并在设备上显示。同时,设备会以实时消息回执的方式来反馈发送状态,实现了对消息发送状态的全掌握。

    3. 华为Push服务支持按标签、主题、情景智能、地理围栏等方式对特定的受众发送消息,并支持多维度的数据统计分析。图2-6所示为华为Push服务推送的文本消息和图文消息。

    ▲图2-6 文本消息和图文消息

    03 盈利:利用多渠道实现开发者变现

    开发者开发一款App所追求的商业目标是盈利,通常需要通过广告或付费模式进行变现。在付费模式下,App需要提供购买支付能力,对接支付系统。

    而实际情况下,开发者面临很多支付通道选择,包括支付宝、微信、银联和运营商支付等。与多个支付系统实现对接,存在开发成本高、对接联调的时间周期很长的问题。华为支付可以帮你简化这些工作。

    1)华为IAP(In App Purchase)覆盖全球主流支付方式,聚合多条支付通道,提供全球化的支付服务。主要支付方式包括银行卡支付、DCB(Direct Carrier Billing)、花币支付和第三方支付(见图2-7)。

    其中,银行卡支付覆盖170多个国家,DCB支付覆盖超过47家运营商,花币支付覆盖全球70多个国家,第三方支付支持微信、支付宝、Sofort和iDeal等支付方式。

    ▲图2-7 全球主流支付方式

    2)IAP提供多种支付配套能力(见图2-8),包括商品管理、订单管理和订阅管理。商品管理支持超过62种语言、195个商品价格档位,支持170多个国家的本地货币自动定价,可根据国家或区域来调整定价策略。

    订单管理提供了丰富的订单管理开放接口,能够记录完整的订单信息,主动查询异常订单并及时补发,实现“零掉单”。订阅服务提供多样化的订阅策略,包括促销折扣、免费试用和延迟结算,支持订阅周期可配置。

    ▲图2-8 支付配套能力

    关于作者:王希海,华为终端云服务开发者联盟产品部部长,具有15年以上丰富的软件领域从业经验,华为终端HDD、HSD、HDG、HDE等生态项目创始人,消费者云服务DigiX系列赛首席评委,曾获深圳市科技进步奖。目前专注华为终端HMS开放能力的推广与布道,与全球开发者共同打造全场景智慧化终端生态。

    望岳,华为终端云服务HMS Core平台部部长,快应用联盟的发起和倡导者之一,20余年电信领域大型管理软件、分布式中间件与平台的研发和全球交付经验。曾发表多篇电信领域专利文章并取得国际专利。目前专注于华为终端HMS Core开放能力构建,助力全球开发者的商业成功。

    吴海亮,华为终端云服务开发者联盟首席技术专家,华为HDD和HMS开放能力首席课程讲师,10余年软件开发与架构设计经验,曾主导多个开放能力的开发项目。目前致力于HMS开放能力推广与全球开发者技术支持工作,亦作为布道师活跃于全球HMS生态发展项目。

    本文摘编自华为HMS生态与应用开发实战

    延伸阅读华为HMS生态与应用开发实战

    点击上图了解及购买

    转载请联系微信:DoctorData

    推荐语:华为官方出品,首本阐述HMSCore书籍,通过实战方式带领移动开发者完成一款移动App的开发与上架。

    更多精彩回顾

    书讯 | 1月书讯:Hello 2021! (上)

    书讯 | 1月书讯:Hello 2021! (下)

    书单 | 8本书助你了解人民日报“创作大脑”

    干货 | 系统学习WebAssembly —— 理论篇

    收藏 |终于有人把业务中台、数据中台、技术中台都讲明白了

    上新 | 华为官方出品:首本HMS Core技术解析图书问世

    点击阅读全文购买

    展开全文
  • 在抖音上,很多用户喜欢分享自己的运动轨迹...赶紧戳视频了解↓↓↓动态轨迹3D视频制作轻松搞定华为手机运动健康APP的运动模式,然后进行户外步行、户外跑步、越野跑、登山、骑行等等运动。运动结束后,打开华为运动...

    在抖音上,很多用户喜欢分享自己的运动轨迹视频,比如:小伙跑步去见女朋友,视频中的地图跑步轨迹形似爱心,健身立马甜蜜蜜。狗粮吃撑之余,也有很多小伙伴们好奇:既能监测运动卡路里等多项数据、又能展现人物动态轨迹,这样的地图如何制作呢?

    赶紧戳视频了解

    ↓↓↓

    动态轨迹3D视频制作轻松搞定

    c92b5dee8461dcc11447288ea925c55c.png

    华为手机运动健康APP的运动模式,然后进行户外步行、户外跑步、越野跑、登山、骑行等等运动。运动结束后,打开华为运动健康APP,进入运动记录,选择一条支持动态轨迹运动记录,就能生成动态轨迹视频。简单来说,只要是步行、跑步,位置变化明显的运动基本都能生成动态轨迹,但转呼啦圈、跳绳等原地活动则不支持。

    具体操作如下:

    看完演示,各位小伙伴心里是否已经心痒难耐,准备试试呢?这里我赶紧准备好教程,帮大家快速上手“动态轨迹”这项功能。

    9bae0c182fe2d630d3f0f854c36349e5.png

    首先,你需要打开华为系列的GPS定位功能(如果携带手机跑,也可以选择打开手机的GPS),然后开始运动,记录整个轨迹信息即可。

    a608c1c0e0e04c369cb7080b34f4450e.png

    71c14eca6a78cba7130091a8b74f1673.png

    准备分享时,打开华为运动健康APP的手机端,依次点击「运动记录」-「单次运动」,找到运动详情的界面。然后,点击左上角的动态轨迹,即可生成视频,保存下来之后就能分享到朋友圈了。

    208a0d68f664f086783a8e209c714a89.png

    b55511c6d84c4b81a0862f0669196e13.png当然了,你还可以在页面的右上角选择「地图样式」、「音乐风格」等,来定制专属于你的动态轨迹视频。

    8c4dae597771b464e8cf1b44c97462da.gif2d743fba81f2c25dec04e3c43396499c.png

    以上就是华为手生成的动态轨迹视频的方法,非常简单,你学会了吗?

    3ed1a7bd6779f44a7f94e6a01743244e.png

    其实,我们只需要华为穿戴智能支持GPS,能够追踪我们户外运动的动态轨迹。然后用户在“华为运动健康“APP中,选择轨迹地图样式、音乐就能将华为记录的动态轨迹保存分享啦。下面,就来看看华为动态轨迹功能的上手体验。

    动态轨迹:让运动分享更高燃

    目前,市面上大多数智能穿戴设备,只能在我们运动完成后,生成完整的运动轨迹图片,分享到社交平台毫无新意。动态轨迹,在卫星地图中运动开始到结束的轨迹视频,能生动还原我们的高燃运动过程。

    9d12fba11050f09f8b20354aaf77022f.png

    想要得到动态轨迹,首先我们要佩戴穿戴智能,开启手表的运动模式,然后进行户外步行、户外跑步、越野跑、登山、骑行等等运动。运动结束后,打开华为运动健康APP,进入运动记录,选择一条支持动态轨迹运动记录,就能生成动态轨迹视频。简单来说,只要是步行、跑步,位置变化明显的运动基本都能生成动态轨迹,但转呼啦圈、跳绳等原地活动则不支持。

    df44f8590a5fa06c4d9396b6966d774d.gif

    以我的户外步行/骑行为例,上图是我佩戴华为穿戴智能,在运动健康APP中生成的动态轨迹(视频GIF),视频可见运动距离、时间、卡路里等各项数据。在卫星地图中,橙色的线条代表着我的运动轨迹,当我骑行到某地点,转为步行时,动态轨迹中还会在具体地点显示相应的图标。

    eee906fe62a9b5b2e0599317fec2e13b.png

    e8225cbda8dd7ec8f0f8ce93bf34ad1f.png

    上图是运动健康APP中的界面截图,可以看到:在户外步行运动记录中,能选择动态轨迹,进入动态轨迹视频后,在右上角选择音乐和地图样式,地图样式包括卫星、标准、黑夜、导航等等,制作完毕后,用户可以选择直接分享给微信好友、朋友圈、本地保存等等。下次男朋友开车去见你,一定让他带着华为穿戴智能,见证你们“鹊桥相会”的浪漫。

    打开新新新新健康生活方式

    赶紧戳视频了解

    ↓↓↓

    十分钟对于一天24小时来说,如同一瞬间那么短而你的体魄可以由许多个十分钟的累积,逐渐走向强大增强你的免疫力当疾病来袭时拥有自愈的能力每天十分钟健身操动起来吧!

    生命在于运动,坚持锻炼就能健康。健康的心理,健康的身体,健康的生活习惯靠一点点培养,靠每天养成,持之以恒带来好的结果。

    健康生活,从科学运动开始,科学运动,从华为运动健康APP开始。

    1eadfdc63a3b5ef23ebcfa1ba17f8ef1.gif

    5f8a07df8b8e50dc736c21ffb052bfcc.pnge6e1aaceb22e5ca80fc803f7b9a455a0.pnge2fe477ab0b04e07791afbe2866f4065.png

    9f13f4a2be6fd37f82d3f9f38513a4d2.png

    bb0784d5d800dc65cd0bc8c3ed9e9c0c.gif

    927a12ea9ca9ecd2484fcdf5b85e47ba.png33d4a3122a5dbba2b3ddf32980e9bc78.pnga5ae7b5391c524b6764c49fa3a3a1e3c.png

    31038b7074d7330bd63b96345bbea637.gif

    *备注

    1  动态轨迹功能需要通过HOTA升级支持,此视频仅供功能示意,真实交互界面以实际手机为准。支持户外步行、户外跑步、越野跑、徒步、登山、骑行几种运动类型,不支持游泳、滑雪、铁人三项、室内运动等其他运动类型;不支持轨迹长度小于200m的运动记录;不支持没有GPS点的运动记录。

    2   HUAWEI WATCH GT 2 系列女性生理周期功能将陆续通过OTA升级支持。

    3   家庭健康空间最多添加10个被关注者。超出时,继续添加时系统会提示您。最多被20人关注,如果超出也会受到系统提示。添加时,需对方同意并完成数据授权,即可查看对方健康数据。

    *   本文涉及的产品、App描述文字及图片基于当时版本宣传,与目前迭代版本可能存在差异,请以当前实际使用版本为准。

    962c5a808c80bc7dd3005c979fb385a7.pngfb8667b86dee70ebc79353ba99e08fa9.png4ebbf06c40c0d3ea95f921e6dfa0f6d5.png

    ddbb76d147fa326e67ab30d9e33e3a87.pngfce46efacb599e5dba9b25aa531c644d.png8ff7ea256688c553434a58a3ed846428.png

    728296b0f063f63f98bf796bca6959a7.png5b5711202d68a501a095f0b2f46c4c46.pngc5df7af79627fab50877df110abdc39e.png3964bf97d387b0488093f7eb0cda9964.png

    b478c941a0900b9dcc011d7a1b4cf182.gif

    8076aea0fac1364eabeadf4ef61a5a9e.png3f035589b695bc6ab884a795ebe63af5.png

    展开全文
  • 一、 图安装的时候提示不兼容Android7.0 二、原因解决百度地图的so和jar 库没有更新。。。。 本来用的是4.0,后来更新到4.1就行了。。。 吗的纠结了好久

    一、 图

    安装的时候提示不兼容Android7.0
    这里写图片描述

    二、原因解决

    百度地图的so和jar 库没有更新 和targetapi低于23。。。。

    1. 方法1 (推荐)

    更新百度地图的so库和jar包,本来用的是4.0,后来更新到4.1就行了。。。
    这里写图片描述

    2. 方法2

    把targetapi 改为23以及以上,注意改了之后权限需要申请。。。

    吗的纠结了好久

    展开全文
  • APP跳转百度、高德、腾讯地图导航

    千次阅读 2018-04-09 10:41:42
    最开始我用的是百度sdk中的跳转api,自己用小米和联想测试跳转没有问题,然而用户的魅蓝note5点击跳转没有任何响应,后来又陆续出现了华为meta9也有相应问题,但华为其他机型又可以正常跳转导航。由于测试机有限,...
        这个本来是一个很简单的需求,奈何我遇到了很奇葩的问题。最开始我用的是百度sdk中的跳转api,自己用小米和联想测试跳转没有问题,然而用户的魅蓝note5点击跳转没有任何响应,后来又陆续出现了华为meta9也有相应问题,但华为其他机型又可以正常跳转导航。由于测试机有限,问题又都出现在客户方,时间紧迫,排除了android 7.0系统的原因,百度地图论坛中试图找到有关问题,没有相应的解释,后来为了尽快解决问题,直接借鉴了Intent跳转,问题也就解决了。所以很大原因是因为百度SDK新老版本的兼容所导致的问题,兼容问题也是百度地图很坑的地方了。虽然跳转不需要集成百度sdk,但还是需要仔细看下官方开发文档http://lbsyun.baidu.com/index.php?title=uri/api/android

    百度sdk中api打开百度,不建议使用

    public static void startBaiduMapNavi(final Context context, LatLng startPoint, String startName, LatLng endPoint, String endName) {
        NaviParaOption para = new NaviParaOption().startPoint(startPoint).startName(startName).endPoint(endPoint).endName(endName);
        try {
            BaiduMapNavigation.openBaiduMapNavi(para, context);
        } catch (BaiduMapAppNotSupportNaviException e) {
            e.printStackTrace();
            AlertDialog.Builder builder = new AlertDialog.Builder(context);
            builder.setMessage("您尚未安装百度地图app或app版本过低,点击确认安装?");
            builder.setTitle("提示");
            builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                    OpenClientUtil.getLatestBaiduMapApp(context);
                }
            });
            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
            builder.create().show();
        }
    }

    直接intent跳转,要靠谱一些。记得处理地址解析异常,当未安装百度地图的时候,提示框引导安装。可以将起点终点都传进去,也可以只传终点。注释中有各参数说明

        public static void startBaiduMapNavi(final Context context, LatLng startPoint, String startName, LatLng endPoint, String endName) {
            try {
                String startLag = startPoint.latitude + "," + startPoint.longitude;
                String endLag = endPoint.latitude + "," + endPoint.longitude;
                
                //   Intent intent = Intent.getIntent("intent://map/direction?origin=latlng:" + startLag + "|name:" + startName + "&destination=latlng:" + endLag + "|name:" + endName + "&mode=transit&src=某某公司#Intent;" + "scheme=bdapp;package=com.baidu.BaiduMap;end");
                //起点  此处不传值默认选择当前位置
                Intent intent = Intent.getIntent("intent://map/direction?destination=latlng:" + endLag + "|name:" + endName + "&mode=driving&src=某某公司#Intent;" + "scheme=bdapp;package=com.baidu.BaiduMap;end");
               
              
                //            URL接口:baidumap://map/direction
                //            destination : 终点名称或经纬度
                //            经纬度和名称:
                //            latlng:39.9761,116.3282|name:中关村 (注意:坐标先纬度,后经度)
                //            mode : 导航模式 //driving 驾车
                context.startActivity(intent);
    
            } catch (URISyntaxException e) {
                e.printStackTrace();
                Toast.makeText(context, "地址解析错误", Toast.LENGTH_SHORT).show();
            } catch (ActivityNotFoundException e) {
                e.printStackTrace();
                AlertDialog.Builder builder = new AlertDialog.Builder(context);
                builder.setMessage("您尚未安装百度地图app或app版本过低,点击确认安装?");
                builder.setTitle("提示");
                builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        OpenClientUtil.getLatestBaiduMapApp(context);
                    }
                });
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                builder.create().show();
            }
        }
    

    跳转到高德地图导航,只需要传入终点经纬度和地址,默认起点为当前地址https://lbs.amap.com/api/amap-mobile/guide/android/route

    方法一:跳转后默认驾车导航,不可自主选择出行方式

    public static void startGaoDeNavi(final Context context, LatLng endPoint, String endName) {
        if (!isInstalled(context, "com.autonavi.minimap")) {
            Toast.makeText(context, "请先下载安装腾讯地图客户端", Toast.LENGTH_SHORT).show();
            return;
        }
        endPoint = fromBD09(endPoint);//坐标转换
        Intent intent = new Intent("android.intent.action.VIEW",
                android.net.Uri.parse(
                        "androidamap://navi?sourceApplication="
                                + context.getPackageName()
                                + "&poiname=" + endName
                                + "&lat=" + endPoint.latitude + "&lon=" + endPoint.longitude + "&dev=0"));
        intent.setPackage("com.autonavi.minimap");
        context.startActivity(intent);
    }

    方法二:体验会更好一些,可由用户选择出行方式,下面也给出了详细注释,两个方法参数名不一样,但参数对应含义一样

        public static void startGaoDeNavi(final Context context, LatLng endPoint, String endName) {
            if (!isInstalled(context, "com.autonavi.minimap")) {
                Toast.makeText(context, "请先下载安装高德地图客户端", Toast.LENGTH_SHORT).show();
                return;
            }
            endPoint = fromBD09(endPoint);//坐标转换
    
            StringBuffer stringBuffer = new StringBuffer("androidamap://route?sourceApplication=").append("amap");
    
            stringBuffer.append("&dlat=").append(endPoint.latitude) //终点纬度
                    .append("&dlon=").append(endPoint.longitude) //终点经度
                    .append("&dname=").append(endName) //终点地址
                    .append("&dev=").append(0)  //起终点是否偏移(0:lat 和 lon 是已经加密后的,不需要国测加密; 1:需要国测加密)
                    .append("&t=").append(0);  //t = 0(驾车)= 1(公交)= 2(步行)= 3(骑行)= 4(火车)= 5(长途客车)
    
            Intent intent = new Intent("android.intent.action.VIEW", android.net.Uri.parse(stringBuffer.toString()));
            intent.setPackage("com.autonavi.minimap");
            context.startActivity(intent);
        }

    跳转到腾讯地图导航,参数可参考http://lbs.qq.com/uri_v1/guide-route.html

    /**
     * 腾讯地图跳转URI
     */
    public static void startTencentNavi(Context context, LatLng startPoint, String startName, LatLng endPoint, String endName) {
        if (!isInstalled(context, "com.tencent.map")) {
            Toast.makeText(context, "请先下载安装腾讯地图客户端", Toast.LENGTH_SHORT).show();
            return;
        }
        startPoint = fromBD09(startPoint);//坐标转换
        endPoint = fromBD09(endPoint);//坐标转换
        StringBuffer stringBuffer = new StringBuffer("qqmap://map/routeplan?type=drive&from=")
                .append(startName)
                .append("&fromcoord=").append(startPoint.latitude).append(",").append(startPoint.longitude)
                .append("&to=").append(endName)
                .append("&tocoord=").append(endPoint.latitude).append(",").append(endPoint.longitude)
                .append("&policy=2")//0:较快捷1:无高速 2:距离
                .append("&referer=trydriver");
        Intent intent = new Intent("android.intent.action.VIEW", android.net.Uri.parse(stringBuffer.toString()));
        context.startActivity(intent);
    }

    通过包名检测应用是否安装

    public static boolean isInstalled(Context context, String packageName) {
        final PackageManager packageManager = context.getPackageManager();//获取packagemanager
        final List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息
        if (pinfo != null) {
            for (PackageInfo info : pinfo) {
                if (info.packageName.equals(packageName)) {
                    return true;
                }
                //pName.add(pn);
            }
        }
        return false;
    }

    坐标转换

        /**
         * BD-09 坐标转换成 GCJ-02 坐标
         */
        public static LatLng fromBD09(LatLng bd) {
            double x = bd.longitude - 0.0065, y = bd.latitude - 0.006;
            double z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
            double theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
    
            double[] ret = new double[2];
            ret[1] = z * Math.cos(theta);
            ret[0] = z * Math.sin(theta);
            return new LatLng(ret[0], ret[1]);
        }
       /**
         * GCJ-02 坐标转换成 BD-09 坐标
         */
        public static LatLng toBD09(LatLng gg) {
            double x = gg.longitude, y = gg.latitude;
            double z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
            double theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
            double[] ret = new double[2];
            ret[1] = z * Math.cos(theta) + 0.0065;
            ret[0] = z * Math.sin(theta) + 0.006;
            return new LatLng(ret[0], ret[1]);
        }


    展开全文
  • 据统计,android7.0和7.1的市场份额分别是:安卓7.0的份额为0.5%,安卓7.1为0.2%,华为7.0的用户量更是不到0.7%,因此对于小众的app来讲,问题不是很大,没必要耗费大量的人力物力去适配。但是作为开发者,抱着学习...
  • 假定两个App,分别是A和B,当A运行某个功能需要启动B,一种是启动B应用,一种直接进入B的某个Activity。搜了很多资料,没有一个完整的。下面就A--Android5.1.1、B--Android7.1.1,实际华为平板Android5.1.1,EMUI3.1...
  • 比如,我将app打开,原地不动5分钟,都会显示有几十上百米的位置移动,谷歌地图华为运动却能做的相对比较准确的绘制真实的运动轨迹。有没有办法能够提高这个位置精度,能够尽量减少位置偏移量,即便是100米偏移...
  • View: requestLayout() improperly called by android.widget.RelativeLayout{f2583ac V.E......... 0,0-1080,1920 #7ffff021 app:id/navi_sdk_navi_container} during layout: running second layout pass
  • 一个安卓app,第一页新闻(固定死,新闻在app内);第二页是地图标记;第三页是数据统计(数据来自华为iot服务器api调用);第四页是登录(不用注册)。诚心求解答?
  • 腾讯地图对Android开发者的不友好之处 定位坑:   这个问题不是客户在我面前演示,我是真的不敢相信。项目的首页在首次进入的时候会...第一步我想到难道腾讯地图App会不会也是这样,于是拿着用户的手机下载腾讯地图
  • 最近发现以前开发的一款集成了百度地图导航功能的APP在某些品牌手机上如华为、魅族等出现无法起调导航功能的问题,在查阅了大量官网和其它论坛的一些资料和博客后,分析并总结出了可以解决该问题的方法。 先来看下...
  • 华为消费者业务软件部总裁王成录博士日前曾透露,手机版鸿蒙OS 2.0的适配工作进展很好,研发已经准备就绪,预计会在12月如约发布。明年一二月份面向部分手机用户提供升级渠道,之后会进行几个月时间的初步升级验证...
  • 相关阅读: 吊炸天!74款APP完整源码! ...2016年未,腾讯,百度,华为,搜狗和滴滴Android面试题汇总 ...国内地图、Google 地图均没法用;手机移动漫游网络太慢;同时需要对接不同合作公司的司机运力,这是国际
  • 华为、vivo、三星等各大品牌...您只需打开【中国移动APP】进入5G专区,点击"身边的5G",您当前位置被识别后,便可在地图上显示周边移动5G的覆盖情况。查询哪里能用移动5G,操作简单,用着方便。经过测试,小编发现...
  • 适配全面屏,目前适配了小米,华为,谷歌,OPPO,VIVO,三星,魅族,一加全系全面屏手机 自动监听Activity生命周期,自动释放资源。在Activity直接finish的场景也避免了内存泄漏 很好的易用性,所有的自定义弹窗只需...
  • 本地设备采集到的数据实时上传到云端,以便手机APP或者web等其他方式提取。 支持两种数据源,一种是串口和网络通过协议采集设备数据,一种是数据库采集。数据库采集模式可以作为通用的系统使用。 自带设备模拟工具,...
  • //现在的支付宝没有地图这个控件,改成通知 while (!textEndsWith("背包").exists() && !textEndsWith("通知").exists() && i<=10){ sleep(1000); i++; } toastLog("第"+ i +"次尝试进入...
  • 移动办公:支持安卓\IOS手机APP办公,支持与企业微信和钉钉集成,支持企业私有化微信部署 开箱即用:O2OA还提供如考勤管理、日程管理、会议管理、脑图管理、便签、云文件、企业社区、执行力管理等开箱即用的应用供...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    生应用如:G oogle 地图及其衍生应用、 GMail 、 GTalk 等。 � GPS 卫星导航功能,手机照相, MP3 ,蓝芽等均被列为 Android 所提供支持的基本选项。 � Android 的平台基本上是免费的,虽然有部份原生链接库会...
  • 知识地图就是你前进的灯塔,有了它你知道目标在哪里,也知道差距在哪里,路漫漫其修远兮希望你能早日通关~ 目录(善用Ctrl+F) 学Java有哪些热门就业方向? 安卓开发 Java 后端开发 大数据/数据仓库 Java...
  • 第13章 Android综合案例二——基于GoogleMap开发个人移动地图 221 13.1 项目UI规划 221 13.2 数据存储实现 222 13.2.1 设计数据库及表结构 222 13.2.2 设计SharePreference存储 223 13.3 项目实现流程 223 ...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

华为地图app