android.content.res.Resources.getConfiguration()' 在空对象引用上

Posted

技术标签:

【中文标题】android.content.res.Resources.getConfiguration()\' 在空对象引用上【英文标题】:android.content.res.Resources.getConfiguration()' on a null object referenceandroid.content.res.Resources.getConfiguration()' 在空对象引用上 【发布时间】:2017-01-09 17:37:22 【问题描述】:

我有一个服务,当用户点击这个聊天头时,它就像一个带有聊天头的叠加层(如 facebook messenger)我弹出一个 MapView (v2)

它适用于我的大多数用户,但在错误报告中,所有小米红米 Note 3 用户都有相同的崩溃

java.lang.RuntimeException:无法创建服务 com.package.MyService: java.lang.NullPointerException: 尝试 调用虚拟方法'android.content.res.Configuration android.content.res.Resources.getConfiguration()' 在一个空对象上 参考在 android.app.ActivityThread.handleCreateService(ActivityThread.java) 在 android.app.ActivityThread.access$1800(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java) 在 android.os.Handler.dispatchMessage(Handler.java) 在 android.os.Looper.loop(Looper.java) 在 android.app.ActivityThread.main(ActivityThread.java) 在 java.lang.reflect.Method.invoke(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java) 引起: java.lang.NullPointerException:尝试调用虚拟方法 'android.content.res.配置 android.content.res.Resources.getConfiguration()' 在一个空对象上 参考 android.view.SurfaceView.init(SurfaceView.java) 在 android.view.SurfaceView.(SurfaceView.java) 在 maps.V.x.(Unknown Source) at maps.V.v.(Unknown Source) at maps.D.v.(Unknown Source) at maps.D.v.a(Unknown Source) at maps.ad.ae.a(未知来源)位于 maps.ad.u.a(未知来源)位于 maps.ad.R.a(未知来源)在 wc.onTransact(:com.google.android.gms.DynamiteModulesB:66) 在 android.os.Binder.transact(Binder.java) 在 com.google.android.gms.maps.a.e$a$a.a(未知来源)在 com.google.android.gms.maps.MapView$a.a(未知来源)在 com.google.android.gms.dynamic.e.a(未知来源)在 com.google.android.gms.dynamic.c.a(未知来源)在 com.google.android.gms.maps.MapView$b.g(未知来源)在 com.google.android.gms.maps.MapView$b.a(Unknown Source) at com.google.android.gms.dynamic.b.a(未知来源)在 com.google.android.gms.dynamic.b.a(未知来源)在 com.google.android.gms.maps.MapView.a(未知来源)

似乎失败的代码在这里

    this.setTheme(R.style.AppTheme);
    this.myView = LayoutInflater.from(this).inflate(R.layout.my_map, null);
    this.mapView = (MapView) myView.findViewById(R.id.map);
    this.mapView.onCreate(null);
    this.mapView.getMapAsync(this);

引发此错误的行是

this.mapView.getMapAsync(this);

有人有解决办法吗?

【问题讨论】:

【参考方案1】:

尝试在清单中打开硬件加速

android:hardwareAccelerated="true"

它对我有用 来源:https://code.google.com/p/gmaps-api-issues/issues/detail?id=9071

【讨论】:

这解决了我在使用 Xamarin 时在 CustomMapRenderer 中进入 OnElementChanged() 时出现的 NullpointerException :D Thanx man! 工作!谢谢~ 这是不正确的 android:hardwareAccelerated 是默认启用的

以上是关于android.content.res.Resources.getConfiguration()' 在空对象引用上的主要内容,如果未能解决你的问题,请参考以下文章