在我的应用程序中我打电话
startActivityForResult( new Intent(this, ShowPreferencesActivity.class), <some code>);
活动声明为:
package ca.qc.webalterpraxis.cinedroid.activity.preference;
public class ShowPreferencesActivity extends PreferenceActivity { ...}
在我的清单中我得到了:
<activty android:name=".activity.preference.ShowPreferencesActivity" android:label="@string/set_preferences">
但是当我尝试启动活动时(在此问题的第一行代码中)我收到异常:
E/AndroidRuntime(1830): android.content.ActivityNotFoundException: Unable to find explicit activity class {ca.qc.webalterpraxis.cinedroid/ca.qc.webalterpraxis.cinedroid.activity.preference.ShowPreferencesActivity}; have you declared this activity in your AndroidManifest.xml?
我尽我所能:
我重新启动eclipse大约10次,重新启动计算机,从设备中删除应用程序,重新安装等等...
我不知道发生了什么。更糟糕的是它之前正在工作,但在我重新命名课程之后不再这样了。奇怪的是:即使我现在重命名这个类,AndroidManifest也不会在eclipse中更新,我必须手工更新它..但它仍适用于其他类......
另外,请注意我有一个测试应用程序,除了测试中的应用程序之外,测试应用程序也找不到用于检测它的活动。
哦,最后但并非最不重要的是,我100%确定ShowPreferencesActivity位于生成的dex文件中,我将其dexdumped以进行检查。
提前感谢您的时间。 (我使用maven-android-plugin)
答案 0 :(得分:0)
谢谢大家,我发现了我的问题:清单中的标签是
<activty
而不是
<activity
但为什么eclipse允许??? !!!