从活动中退出时系统崩溃

时间:2016-12-06 09:06:53

标签: android android-activity methods crash

我遇到这种情况: 我想在一秒钟之后离开活动,但之后系统崩溃了。 我插入这些行:

    static  QRActivity o;

    protected void onCreate(Bundle savedInstanceState) {

    /////other codes

    o =new QRActivity();

    public static void myMethod()
        {
            o.doStuff();
        }

        private  void doStuff()
        {
            Timer t = new Timer();
            t.schedule(new TimerTask() {

                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    Intent i = new Intent(QRActivity.this,MainActivity.class);
                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(i);

               }
            }, 5000);
        }

    in an other class
    QRActivity.myMethod();

它正在工作但是在崩溃后的秒数设定之后说  真正的应用程序类为null 没有将即时运行的dex文件添加到类路径中 找不到方法android.view.Window $ Callback.onProvideKeyboardShortcuts,从方法android.support.v7.view.WindowCallbackWrapper.onProvideKeyboardShortcuts引用

我的错误在哪里

2 个答案:

答案 0 :(得分:0)

如果QRActivity延长Activity,那么您绝对肯定不会这样做:

o = new QRActivity();

只有Android框架才能创建Activity的实例。你的架构存在缺陷。

答案 1 :(得分:0)

class MyClass extends Activity {

    static MyClass o;

    public static void myMethod()
    {
        o.doStuff();
    }

    private  void doStuff()
    {
        Timer t = new Timer();
        t.schedule(new TimerTask() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                Intent i = new Intent(MyClass.this,MainActivity.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                i.putExtra("EXIT", true);
                startActivity(i);

            }
        }, 5000);
    }
回想起来 MyClass.myMethod();

这个错误:
threadid = 1:线程退出,未捕获异常(group = 0x4168bc80) //真正的应用程序类为null。 W / InstantRun:没有添加到类路径的即时运行dex文件