主要活动名称必须是.MainActivity吗?

时间:2012-05-28 04:17:38

标签: android android-activity

我的应用有以下主要活动:

<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的手势搜索启动它时,我收到一条手势错误消息,指出该应用没有.MainActivity

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

Android应用是否需要拥有名为.MainActivity的主要活动?如果不是,它是一个软推荐或约定,还是仅仅是对Gesture的错误假设?

4 个答案:

答案 0 :(得分:8)

Android应用不需要任何名为.MainActivity的活动。此外,我不知道这样的任何惯例。听起来你可能在不知不觉中告诉Gesture你想要一些名为.MainActivity的东西。

也许是因为你把一个包名放在了这个类的实际名字之前。请尝试改为使用完全限定的类名。还可以尝试重命名Activity,看看是否有任何不同的结果。

答案 1 :(得分:3)

Android应用程序不需要名为MainActivity的活动,您不应该假设(并且当然不应该依赖)任何实现它的应用程序。

此外,我从未听说过任何建议这样做的公约。大多数开发人员会将每个活动命名为适合其在应用程序中的行为和/或目的。

答案 2 :(得分:0)

不,这根本不需要,我不会在我的项目中使用这个名字。您可以根据应用程序的行为给出名称。

答案 3 :(得分:0)

可能是问题与清单文件中提到的您的活动名称有关。

机器人:parentActivityName =&#34; .activity.MainActivity&#34;

如果您使用片段和操作栏后退按钮,则必须正确提及父活动名称,在我的情况下,它是MainActivity。如果没有正确给出,则会显示错误。