【发布时间】: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