2012-05-28 57 views
5

我的應用程序有這個主要活動:主活動名稱必須是.MainActivity?

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

,並與來自家庭發射沒有問題的啓動。但是,當我嘗試從Google的Gesture Search中啓動它時,出現手勢錯誤消息,指出該應用沒有.MainActivity

https://play.google.com/store/apps/details?id=com.google.android.apps.gesturesearch

要求做Android應用程序擁有的主要活動叫.MainActivity?如果不是,這是一個軟性推薦,還是一個慣例,或者是對姿勢的一個不好的假設?

回答

6

Android應用程序不需要任何稱爲.MainActivity的活動。此外,我不知道這樣的約定。這聽起來像你可能不知不覺地告訴手勢,你想要一些叫做.MainActivity的東西。

也許是因爲你在類的實際名稱之前放了一個包名。嘗試使用完全限定的類名稱。也嘗試重命名該活動,並查看是否得到任何不同的結果。

3

Android應用程序不需要名爲MainActivity的活動,您不應該假設(也不應該依賴)任何實現它的應用程序。

此外,我從來沒有聽說過任何推薦這麼做的慣例。大多數開發人員將命名每個活動以適應其在應用程序中的行爲和/或目的。

0

不,這不是必需的,我不會將這個名字用於我的項目。您可以提供適合您應用程序行爲的名稱。

0

可能是您的活動名稱在清單文件中提到的問題。

機器人:parentActivityName =「 activity.MainActivity」

如果您使用的是碎片和動作條後退按鈕,那麼你必須正確地提及父活動的名字,對我來說,這是MainActivity。如果你沒有正確給它,它會顯示錯誤。

相關問題