2012-02-20 53 views
-1

在我的應用程序調用ActivtyNotFoundException但是,它在我的AndroidManifest.xml中聲明

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? 

我試圖盡我所能:

  • 置換,以艙單,與類
  • 設置使用setClassName
  • 意圖類名的完全合格的名稱類的名稱
  • 爲活動提供默認過濾器

我重新啓動了10次左右的日食rebo我的計算機被註銷,從設備中刪除應用程序,resintalled等...

我不知道發生了什麼。更糟糕的是,它之前在工作,但在我重新命名課程之後不再。奇怪的是:即使我現在重命名類,AndroidManifest不會在Eclipse中更新,我必須手動更新它..但它仍然適用於其他類...

此外,請注意,我有測試應用程序,測試應用程序以外的應用程序和測試應用程序都無法找到活動來對其進行測試。

哦,最後但並非最不重要的一點是,我100%確定ShowPreferencesActivity在結果dex文件中,我對它進行了dexdumped以檢查。

提前感謝您的時間。 (我使用maven-Android的插件)

+0

我不會工作,我的android包是ca.qc.webalterpraxis.cinedroid。 – Snicolas 2012-02-20 12:57:17

+0

CTRL + CLICK ON「.activity.preference.ShowPreferencesActivity」 – 2012-02-20 12:58:59

+0

感謝這個建議,沒有我(見下面的答案)它不起作用......但是當活動拼寫正確時,它確實如此。 – Snicolas 2012-02-20 13:02:27

回答

0

感謝所有,我發現我的問題:在清單中的標籤是

<activty 

,而不是

<activity 

但爲什麼日食允許那??? !!!

+1

由於沒有給出dtd,它不知道在哪裏檢查驗證,它只是抱怨'android'屬性... – WarrenFaith 2012-02-20 13:01:24

+0

爲什麼不存在dtd? android developper.xml文件的結構完全記錄在android developper網站的android資源中。 – Snicolas 2012-02-20 13:06:45

+1

是的,但在根標記中沒有提及dtd,因此編輯器/ eclipse不知道在哪裏查看驗證。它不能單獨使用谷歌:) – WarrenFaith 2012-02-20 13:08:12

相關問題