延迟后尝试开始新活动时,应用程序停止

时间:2018-08-02 15:46:14

标签: android timer kotlin

一段时间后,我正在尝试开始新的活动。但是,延迟后,应用程序仍然崩溃

Handler().postDelayed({
        val intent: Intent = Intent(applicationContext,loginActivity::class.java)
        startActivity(intent)
    }, 1000)

请帮助。预先感谢!

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.aceri5.naada, PID: 15230
              android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.aceri5.naada/com.example.aceri5.naada.loginActivity}; have you declared this activity in your AndroidManifest.xml?
                  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1940)
                  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1618)
                  at android.app.Activity.startActivityForResult(Activity.java:4514)
                  at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
                  at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:68)
                  at android.app.Activity.startActivityForResult(Activity.java:4472)
                  at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:751)
                  at android.app.Activity.startActivity(Activity.java:4833)
                  at android.app.Activity.startActivity(Activity.java:4801)
                  at com.example.aceri5.naada.firstActivity$onCreate$1.run(firstActivity.kt:40)
                  at android.os.Handler.handleCallback(Handler.java:790)
                  at android.os.Handler.dispatchMessage(Handler.java:99)
                  at android.os.Looper.loop(Looper.java:164)
                  at android.app.ActivityThread.main(ActivityThread.java:6501)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

应用程序终止。

3 个答案:

答案 0 :(得分:1)

尝试将以下代码替换为val intent :(删除val intent) 并执行以下操作:

Intent intent = new Intent(Yourcurrentclass.this,Desiredactivity.class);         startActivity(intent);

如果未解决,请在基本运行您的stacktrace的应用程序时共享运行部分中发生的异常。

答案 1 :(得分:1)

按照logcat消息说明,在清单文件中声明您的loginActivity

have you declared this activity in your AndroidManifest.xml?

答案 2 :(得分:1)

您的 loginActivity 必须在 AndroidManifest.xml 文件中声明。清单文件基本上包含您的应用程序正在使用的所有组件。可以将其视为操作系统的“清单”,它可以告诉您应用程序使用的组件,如何与应用程序交互,应用程序使用的权限等等(更多信息,here)。

要声明一个活动,您必须在清单中放入类似于以下内容的条目(请注意,根据您的要求,您可以声明更多属性):

<activity
   android:name=".loginActivity"            
   android:label="@string/app_name"/>

P.S。按照惯例,课程以大写字母开头:)