博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Context.startActivity出现AndroidRuntimeException
阅读量:5343 次
发布时间:2019-06-15

本文共 1754 字,大约阅读时间需要 5 分钟。

昨天做了一个Activity的启动动画,效果是点击桌面图标先出现动画后启动Activity,今天想让其开机启动,于是我写了一个类BootReceiver.java用于接收开机广播,启动动画效果,代码如下:

public class BootReceiver extends BroadcastReceiver{

    @Override

    public void onReceive(Context context, Intent intent) {

        // TODO Auto-generated method stub

        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){

            Log.d("splashscreen", "SplashScreen---------->>>>>>>>BootReceiver");

            Intent splash=new Intent(context,SplashScreen.class);

            context.startActivity(splash);

        }

    }

}

调试程序的时候发现其并未开机启动,使用adb logcat发现报了如下的错误。

E/JavaBinder( 2252): *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)

E/JavaBinder( 2252): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

E/JavaBinder( 2252):     at android.app.ContextImpl.startActivity(ContextImpl.java:622)

E/JavaBinder( 2252):     at com.android.server.ConnectivityService.sendBugReportToServer(ConnectivityService.java:2055)

E/JavaBinder( 2252):     at com.android.server.ConnectivityService.startUsingNetworkFeature(ConnectivityService.java:725)

E/JavaBinder( 2252):     at android.net.IConnectivityManager$Stub.onTransact(IConnectivityManager.java:135)

E/JavaBinder( 2252):     at android.os.Binder.execTransact(Binder.java:288)

E/JavaBinder( 2252):     at dalvik.system.NativeStart.run(Native Method)


借用高人分析:

Context 中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的 startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。在context.startActivity(splash)之前加上

splash.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

这样就可以在新的task里面启动这个Activity了。 

转载于:https://www.cnblogs.com/lgh1992314/p/5834740.html

你可能感兴趣的文章
数据库第1,2,3范式学习
查看>>
《Linux内核设计与实现》第四章学习笔记
查看>>
使用iperf测试网络性能
查看>>
图片的显示隐藏(两张图片,默认的时候显示第一张,点击的时候显示另一张)...
查看>>
Docker 安装MySQL5.7(三)
查看>>
python 模块 来了 (调包侠 修炼手册一)
查看>>
关于CSS的使用方式
查看>>
本地MongoDB服务开启与连接本地以及远程服务器MongoDB服务
查看>>
跨域解决方案之CORS
查看>>
分析语句执行步骤并对排出耗时比较多的语句
查看>>
原生JS轮播-各种效果的极简实现
查看>>
软件工程总结作业---提问回顾与个人总结
查看>>
计数器方法使用?
查看>>
带你全面了解高级 Java 面试中需要掌握的 JVM 知识点
查看>>
sonar结合jenkins
查看>>
解决VS+QT无法生成moc文件的问题
查看>>
AngularJs练习Demo14自定义服务
查看>>
关于空想X
查看>>
CF1067C Knights 构造
查看>>
[BZOJ2938] 病毒
查看>>