• Android使用百度地图出现闪退及定位时显示蓝屏问题


     目录

    1.Android使用百度地图出现闪退

    2.Android使用百度地图定位出现蓝屏问题

     

     


    1.Android使用百度地图出现闪退

    一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置

    <meta-data
        android:name="com.baidu.lbsapi.API_KEY"
        android:value="D9Lh8MrrLMUuXdWMU8tRLtDsta6PoaYN" />

    但是,有些同学会发现,所有配置都是按照官网或者教程上的步骤来配置依旧会出现闪退问题。此时,不要盲目直接去网上搜索使用百度地图出现闪退来求解,这样不知道问题具体出现在哪,会让你耗费大量时间,然而问题依旧得不到解决。

     

    在此时,需要学会查看AndroidStudio给出的调试日志信息。打开Android Studio底部Android Monitor来查看具体报错信息。例如:

     

    此处本文楼主自己查看的报错信息及解决方法如下:

    报错信息:

    dlopen("/data/data/com.zhoupan.unlockinguser/files/libs/libBaiduMapSDK_base_v4_1_1.so", RTLD_LAZY) failed: dlopen failed: "/data/data/com.zhoupan.unlockinguser/files/libs/libBaiduMapSDK_base_v4_1_1.so" is 32-bit instead of 64-bit
    11-05 14:02:48.554 17515-17515/com.zhoupan.unlockinguser E/NativeLoader: loadException
                                                                             java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.zhoupan.unlockinguser/files/libs/libBaiduMapSDK_base_v4_1_1.so" is 32-bit instead of 64-bit
                                                                                 at java.lang.Runtime.load(Runtime.java:331)
                                                                                 at java.lang.System.load(System.java:982)
                                                                                 at com.baidu.platform.comapi.NativeLoader.f(Unknown Source)
                                                                                 at com.baidu.platform.comapi.NativeLoader.b(Unknown Source)
                                                                                 at com.baidu.platform.comapi.NativeLoader.a(Unknown Source)
                                                                                 at com.baidu.platform.comapi.NativeLoader.c(Unknown Source)
                                                                                 at com.baidu.platform.comapi.NativeLoader.loadCustomizeNativeLibrary(Unknown Source)
                                                                                 at com.baidu.platform.comapi.NativeLoader.loadLibrary(Unknown Source)
                                                                                 at com.baidu.platform.comapi.a.<clinit>(Unknown Source)
                                                                                 at com.baidu.platform.comapi.b.a(Unknown Source)
                                                                                 at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
                                                                                 at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
                                                                                 at com.zhoupan.unlockinguser.application.LocationApplication.onCreate(LocationApplication.java:32)
                                                                                 at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011)
    
      

    解决办法:
    原因是在build文件中加载了fresco库
    //    compile 'com.facebook.fresco:fresco:0.9.0+'
    删掉以后可以运行。

     

    原文链接

     

     


    2.Android使用百度地图定位出现蓝屏问题

    原因是targetVersion >= 23,那么运行到6.0及以上设备时,默认所有权限都不开启,

    必须动态requestPermission,这里需要位置权限,默认没开启导致此结果。

    把targetVersion 设置成22及以下就行,当targetVersion<23时,默认开启全部权限。

    原文链接

     

    附:

    实现百度地图定位,使用GEO过程中,需要使用maker来展示图标及文字信息时,百度地图官方给的类只能展示图片,如果需要展示文字,需要自己额外实现,具体实现方法:

    百度地图marker上添加文字的一种实现方案

    首先,添加一个布局文件,代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:gravity="center_vertical"
        android:orientation="vertical"
        android:padding="10dp" >
        <TextView
            android:id="@+id/dancegroup_place_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:textSize="15sp"
            android:text="湖北省"
            android:textColor="@color/colorPrimary"
            android:textStyle="bold"/>
    
        <ImageView android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop"
            android:padding="5dip"
            android:src="@drawable/ic_dance_group"
            android:layout_gravity="center_horizontal"/>
    </LinearLayout>

     接着在实现定位的Activity类中添加一个如下方法:

     private Bitmap getViewBitmap(View addViewContent) {
    
            addViewContent.setDrawingCacheEnabled(true);
            addViewContent.measure(
                    View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
                    View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
            addViewContent.layout(0, 0,
                    addViewContent.getMeasuredWidth(),
                    addViewContent.getMeasuredHeight());
            addViewContent.buildDrawingCache();
    
            Bitmap cacheBitmap = addViewContent.getDrawingCache();
            Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);
    
            return bitmap;
        }

    然后,在所监听类中,把上午布局XML文件视图View转换为Bitmap,转换过程如下:

    TextView dance_name;
    LayoutInflater factory; ... .... factory
    = LayoutInflater.from(MainActivity.this); view11 = factory.inflate(R.layout.video_camera,null);
    dance_name
    = (TextView)view11.findViewById(R.id.dancegroup_place_name); dance_name.setText(place[num % 4]); BitmapDescriptor bdB = BitmapDescriptorFactory.fromBitmap(getViewBitmap(view11));
  • 相关阅读:
    Permission denied (publickey). SSH用户名密码登录报错
    git工作流(Gitflow/gitlab代码权限管理)
    Spring多数据源配置(2)[PageHelper插件下应用bug修复]
    Spring多数据源配置
    基于Redis实现分布式锁
    .NetCore Autofac依赖注入获取注册后的实例、全局容器获取
    C++注入记事本升级版,给记事本弄爱心
    C++注入记事本
    WINAPI实现简易扫雷游戏
    .net 公共基础类
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/8372817.html
Copyright © 2020-2023  润新知