Screen Locked导致无法找到显式活动类您是否在AndroidManifest.xml中声明了此活动?

时间:2017-06-08 10:19:19

标签: java android activitynotfoundexception

我在我的应用程序中一直在很少的客户端设备上收到此错误。我发布了一个相关问题Here但发现没有用的答案。

经过数周的研究和测试,我在开发机器上重现了这个错误。

login活动上,在用户插入所需凭据并单击Login button后,我正在运行AsyncTask以验证服务器上的凭据。在我之间,我向用户显示ProgressDialog。如果在使用设备硬件锁定密钥执行doInBackground期间锁定设备,或者它自己和锁定变暗,PostExecute方法会抛出异常。以下是PostExecute的代码段。通常没有锁定设备就可以正常运行

if(EveryThing Goes Well) 
{                     
    progressDialogUtil.Dismiss();
    Intent selectBikeActivity = new Intent(getApplicationContext(), SelectBike.class);
    startActivity(selectBikeActivity); // Here Raised Exception
    finish();
}
......

StackTrace是

 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.yego.motodriver/com.yego.motodriver.SelectBike}; have you declared this activity in your AndroidManifest.xml?
                                                 at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1805)
                                                 at android.app.Instrumentation.execStartActivity(Instrumentation.java:1523)
                                                 at android.app.Activity.startActivityForResult(Activity.java:3968)
                                                 at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
                                                 at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
                                                 at android.app.Activity.startActivityForResult(Activity.java:3920)
                                                 at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
                                                 at android.app.Activity.startActivity(Activity.java:4259)
                                                 at android.app.Activity.startActivity(Activity.java:4227)
                                                 at com.yego.motodriver.Login.HandleLoginResponse(Login.java:502)
                                                 at com.yego.motodriver.Login.access$300(Login.java:61)
                                                 at com.yego.motodriver.Login$4.onGRPCTaskCompleted(Login.java:233)
                                                 at com.yego.util.GrpcTask.onPostExecute(GrpcTask.java:297)
                                                 at com.yego.util.GrpcTask.onPostExecute(GrpcTask.java:38)
                                                 at android.os.AsyncTask.finish(AsyncTask.java:651)
                                                 at android.os.AsyncTask.-wrap1(AsyncTask.java)
                                                 at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
                                                 at android.os.Handler.dispatchMessage(Handler.java:111)
                                                 at android.os.Looper.loop(Looper.java:207)
                                                 at android.app.ActivityThread.main(ActivityThread.java:5742)
                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

如何避免此异常?

1 个答案:

答案 0 :(得分:0)

  

您尚未在AndroidManifest.xml中声明您的活动,如:

<activity
        android:name=".SelectBike"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustPan"/>