【问题标题】:Screen Locked causing Unable to find explicit activity class have you declared this activity in your AndroidManifest.xml?屏幕锁定导致无法找到显式活动类您是否在 AndroidManifest.xml 中声明了此活动?
【发布时间】:2017-06-08 10:19:18
【问题描述】:

在我的应用程序中,我已经在少数客户端设备上收到此错误已经有一段时间了。我已经发布了一个相关的问题Here,但没有找到有用的答案。

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

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

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)

如何避免这个异常?

【问题讨论】:

  • 您的包裹与 com.yego.motodriver.SelectBike 不匹配。只需控制并单击此类。如果它会重定向到您的原始包,那么它是正确的。否则您必须更改包。
  • @Radhey 在我的情况下,如果设备被锁定在异步任务之间,那么只会抛出异常。否则效果很好。所以我认为 PackageMismatch 不会是这里的问题..
  • 发布您的 Asynctask 代码。
  • 您是否从主项目中调用任何库活动?

标签: java android activitynotfoundexception


【解决方案1】:

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

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

【讨论】:

猜你喜欢
  • 2020-01-22
  • 2015-02-28
  • 2018-09-18
  • 2019-02-27
  • 2016-09-14
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多