我有一个应用程序,运行数百次,但很少在尝试启动活动时遇到异常:
Intent tIntent = new Intent();
tIntent.setClass(App.ctx, MyClassActivity.class);
startActivity(tIntent);
在清单中我宣布:
activity android:name="MyClassActivity" android:launchMode="singleTask"
例外:
01-01 10:41:33.723: E/AndroidRuntime(3867): android.content.ActivityNotFoundException:
Unable to find explicit activity class {my.package/my.package.MyClassActivity};
have you declared this activity in your AndroidManifest.xml?
任何可能导致此问题的提示?例外是非常随机和罕见的。应用程序在模拟器上启动。
我已经阅读了android.content.ActivityNotFoundException:个问题,但问题是系统的,而不是像这里的随机问题。
答案 0 :(得分:0)
请在清单文件中添加这两项活动
<activity android:name=".MyClassActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="com.pkg.MyClassActivity"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
答案 1 :(得分:0)
如果您在模拟器中运行程序,那么我将假设您经常调试更改。如果情况并非如此,请澄清,但是,我现在将根据这个假设作出答案......
每当应用程序在开发或可调试环境中运行时,无论是在模拟器还是设备上,都会发生很多事情。因此,它可能会扭曲加载时间,安装,卸载等。大多数情况下,这是在快速更改已启动的设备(即通过USB插入的设备或您保持打开的模拟器)之后发生的开发)。
要在设备上启动此操作,它会执行以下操作: 1.重建应用程序(如果有任何更改) 2.检查应用程序是否与设备上的应用程序匹配。 3.卸载/重新安装应用程序 4.运行应用程序。
在此过程中,如果事情发生得太快,它可能会误读您的清单文件并“损坏”(不是真的)您的构建。如果它只是间歇性地发生,那么它只是模拟器失败了一分钟。如果问题发生,然后继续,直到您执行特定的操作,那么开发环境就会丢失。对于第一个问题,你真的没有什么可以做的,但有时候没有点击这么快......对于第二个,只需“清理”项目(在Eclipse中这是通过单击Project - &gt; Clean完成的)。这将删除缓存的信息并再次从头开始构建它。它使您的应用程序表现得像所有闪亮和新的。我发现的其他一些帮助有时也是从设备手动卸载应用程序。我只对使用多个库的复杂应用程序执行此操作,或者由于内容错误而导致ContentResolver挂起。
希望这有帮助, FuzzicalLogic