繁体   English   中英

Google Play崩溃报告中的AndroidRuntimeException

[英]AndroidRuntimeException from Google Play Crash Report

我在Google Play商店中有一个应用,对大多数人来说都可以正常运行。 但是,通过Google故障报告报告了90起崩溃,其中包括:

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
at android.app.ContextImpl.startActivity(ContextImpl.java:847)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:276)
at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:242)
at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:330)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4429)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:3151)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:2918)
at dalvik.system.NativeStart.main(Native Method)

我在网上浏览了一下,但是我所能找到的只是添加intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

但这对我不起作用,因为我没有在代码中调用startActivity() 我确实调用了startActivityForResult()但指定FLAG_ACTIVITY_NEW_TASK标志将停止在onActivityResult()返回结果。

这是在我的主要活动中唯一具有从onCreate()调用startActivityForResult()的代码:

private void load()
{
    Intent loadBeats = new Intent(this, BeatListActivity.class);
    startActivityForResult(loadBeats, SELECT_BEAT_ACTIVITY);
}

在我的任何设备或虚拟设备上,我从未真正发生过此错误! 这一切都很难解决。

有任何想法吗?

在提出有用的评论之后,@ ReubenScratton,在我提出问题之后,我想我已经找到了问题/解决方案!

在我的代码中,我不使用startActivity() ,这使我感到困惑。 但是我确实使用了AdView(admob广告)4.1.1版,它似乎确实调用了startActivity() 我在搜索Google后发现了这一点。 根据我的问题,其他人使用该版本的AdView(GoogleAdMobAdsSdk-4-1-1.jar)报告了相同的错误。

我已经用较新的版本更新了我的应用程序,到目前为止,没有更多错误了!

如果不是这种情况,我将报告。

只是加起来

插页式广告也会发生这种情况

您必须传递活动上下文而不是应用程序上下文

InterstitialAd interstitial = new InterstitialAd(this);

如果有碎片

InterstitialAd interstitial = new InterstitialAd(getActivity());

并不是

InterstitialAd interstitial = new InterstitialAd(getActivity().getApplicationContext());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM