2012-07-25 55 views
2

這是場景:我有2不同的包在同一個項目。 當我嘗試從包com.stable.app活動A啓動大意圖ActivityB(這是在com.stable.app.in),我得到此錯誤。我的Manifest沒問題,但似乎是錯的。我的清單是:android.content.ActivityNotFoundException:無法找到顯式活動類{};你有沒有在你的AndroidManifest.xml中聲明這個活動?

<activity android:name=".in.Principal"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

而且我的代碼是:

final Intent intent = new Intent();     
intent.setClassName("com.stable.app.in", "com.stable.app.in.Principal"); 
intent.setAction(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
startActivity(intent); 

我已經嘗試了很多建議似乎在其他議題。這些是: 給予清單包的整個路線。 嘗試刪除MAIN,LAUNCHER等 很多。

如果你有同樣的問題,或有一個有力的解決方案,不要回應!

+0

將您的清單軟件包名稱更改爲「com.stable.app」。 – 2012-07-25 09:04:09

+0

您的活動A在com.stable.app包下,而Activity B在com.stable.app.in包下。 – AkashG 2012-07-25 09:06:38

+0

它的正確性,已經有解決方案了,請注意,謝謝! – BackToBasics 2012-07-25 09:56:32

回答

0

根據您的要求,您聲明 的包數量取決於您的項目需求。您需要在完整包名稱的Manifest文件中指定 活動名稱。

假設在你的情況下你有委託人是你的活動,你在 com.stable.app.in。這樣,就要在你需要 的清單文件中聲明

<activity android:name="com.stable.app.in.Principal"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
</activity> 

上面一樣。

1

你讓這有點複雜。如果你想開始你的項目中另一個活動,你可以使用下面的代碼片段:

final Intent intent = new Intent(this, ActivityB.class); 
startActivity(intent); 

這是路短,很高的M礦重要的是,你不會用活動的名稱爲字符串。這樣,當您在IDE中重構活動類名稱時,它也可以更改代碼。使用字符串名稱時,大多數IDE都不會更改它。

此外,您還必須確保您在Manifest文件中聲明瞭正確的活動。您不需要使用完整的課程名稱,但是如果您使用.in.Principal,請確保您的Manifest文件的包裝爲com.stable.app

+2

最後,我做到了,這種方式的工作原理:final Intent intent = new Intent(getApplicationContext(),Principal.class); – BackToBasics 2012-07-25 09:42:46

+0

感謝大家,蒂姆羅斯,你是對的,我不得不將字符串名稱更改爲: final Intent intent = new Intent(getApplicationContext(),Principal.class); 也導入com.stable.app.in.Principal 仍然明白爲什麼它不能作爲「字符串」工作: intent.setClassName(「com.stable.app.in」,「com.stable.app.in。「); – BackToBasics 2012-07-25 09:54:51

+0

*仍不明白 – BackToBasics 2012-07-25 10:00:04

相關問題