android Marshmallow 最新更新中未显示地图

Map not being displayed in android Marshmallow latest update

Android 版本 - android 6.0.1 设备 - Micromax canvas A1 SDK 级别 - 目标 23 & 分钟 14

我正在开发一个基于 supportMapFragment() 的 android 应用程序,它以 JSON 格式从服务器获取纬度和经度,但这对我来说不是问题。 我的问题是我在这个应用程序中使用 android Marshmallow 设备(Micromax canvas A1)运行 非常好但是在最近的系统更新之后我无法像往常一样访问该应用程序显示这些异常:

Exception -  Process: com.blucursor.busapp, PID: 6099
    android.view.InflateException: Binary XML file line #7: Binary XML file line #7: Error inflating class fragment
            at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
            at com.blucursor.busapp.MapFragment.onCreateView(MapFragment.java:119)
            at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1016)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1197)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1562)
            at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:535)
            at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:1106)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:952)
            at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1474)
            at android.view.View.measure(View.java:18794)
            at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
            at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
            at android.view.View.measure(View.java:18794)
            at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:940)
            at android.view.View.measure(View.java:18794)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
            at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124)
            at android.view.View.measure(View.java:18794)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
            at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
            at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
            at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
            at android.view.View.measure(View.java:18794)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
            at android.view.View.measure(View.java:18794)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
            at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
            at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
            at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
            at android.view.View.measure(View.java:18794)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
            at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
            at android.view.View.measure(View.java:18794)
            at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
            at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
            at android.view.Choreographer.doCallbacks(Choreographer.java:670)
            at android.view.Choreographer.doFrame(Choreographer.java:606)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:148)
            at android.app.ActivityThread.main(ActivityThread.java:5417)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
     Caused by: android.view.InflateEx

在谷歌搜索一个多小时后,我发现了一些建议添加一些权限的解决方案尝试了所有这些但没有成功。

我真的不记得我是如何修复它的,因为我用它尝试了很多东西,比如

  1. 我降级了我的更新。
  2. 恢复出厂设置。
  3. Sim 卡和 SD 卡不存在,所以插入它们。
  4. 在 SDK 23 需要的清单文件中添加了我的应用程序需要的所有权限。

其中一个为我完成了技巧,希望对遇到同样问题的人有所帮助。

您可以尝试其中一种或全部。 P.S.:现在它在同一台设备上工作。 抱歉不够准确。

如果您的应用需要访问用户的位置,您必须通过向您的应用添加相关的 Android 位置权限来请求权限。 对于 Android 6.0(API 23) 及更高版本,您必须请求许可运行时。 参考:https://developers.google.com/maps/documentation/android-api/location#request_runtime_permissions.