9

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

<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

4 回答 4

10

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

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

于 2012-05-28T04:23:09.527 回答
3

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

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

于 2012-05-28T04:37:23.643 回答
0

不,这根本不是必需的,我从来没有在我的项目中使用这个名称。您可以给出适合您应用程序行为的名称。

于 2012-05-28T04:43:57.413 回答
0

清单文件中提到的活动名称可能存在问题。

android:parentActivityName=".activity.MainActivity"

如果您使用的是 Fragment 和 Actionbar 后退按钮,那么您必须正确提及父活动名称,在我的情况下它是 MainActivity。如果您没有正确给出它,它将显示错误。

于 2014-11-02T14:34:15.057 回答