我遇到这种情况: 我想在一秒钟之后离开活动,但之后系统崩溃了。 我插入这些行:
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引用
我的错误在哪里
答案 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文件