关于supermap示例程序打开闪退问题的几种可能性以及解决方法

1、没给权限。注意这里的权限要是访问所有文件的权限,而不是媒体文件。(如果你按照文档照做,那么这种的可能性最大)

2、工程许可和地图数据的存放位置不对,尤其是工程许可。

3、gradle版本过高?我暂时没有遇到过这个问题,但论坛里有写这个原因。

第一二个问题的解答详情参考我的上一篇文章SuperMap iMobile+Android studio开发入门(二)——超图示例代码运行_那咋办嘛_的博客-CSDN博客

里面都有提到要注意这两点问题,并给出了相应解决方法。

------------------------------------下面说一下为什么我要用sdk28。---------------------------------------------

首先一个小科普:

Android 6 SDK23

之前访问文件列表无需进行权限申请,或者只需在AndroidManifest.xml中添加相应权限即可进行
从23之后如果访问文件列表需要在Activity中动态申请访问权限。

Android 10 SDK 29

Android 10增加了文件分区的功能,文件的访问特别是根目录下的访问受限,Android10不再允许直接读取文件根目录,即使动态申请也无效。
但为了过度,可以使用临时的方案,即在application节点下增加android:requestLegacyExternalStorage="true"可关闭文件分区功能,但可能后期被取消。

Android 11 SDK 30

强制开启文件分区功能,即使加上了10上的关闭标识也会忽略掉。此时如果再想要访问文件目录,如文件管理器等,需要申请11新增的权限android.permission.MANAGE_EXTERNAL_STORAGE。

但很遗憾,我在用sdk32时,新增android.permission.MANAGE_EXTERNAL_STORAGE权限后仍然弹窗提示的时访问媒体文件,所以我最后不得不选择退回sdk28,卡在了一个不需要文件分区的版本。

目前这个问题还尚未解决,有幸解决再继续更新。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值