这是什么意思"找不到启动器活动!"

Vee*_*eer 82 eclipse android

我正在编写一个简单的Android程序,并且没有错误,我不知道它们是什么.我的程序是正确的,但显示不输出.我认为这是因为这两行:

[2005-01-06 19:56:38 - my_Android] No Launcher activity found!
[2005-01-06 19:56:38 - my_Android] The launch will only sync the application package on the device!
Run Code Online (Sandbox Code Playgroud)

dbr*_*son 158

这是AndroidManifest.xml的一个例子.您需要在意图过滤器中为要在启动时启动的活动指定MAIN和LAUNCHER

<application android:label="@string/app_name" android:icon="@drawable/icon">
    <activity android:name="ExampleActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

  • 那些看起来总是那样,它们不是你应用程序中的类,它们是正在发生的行为.同样,您可以对其他操作激活一个Activity.例如<action android:name ="android.intent.action.VIEW"> </ action> <category android:name ="android.intent.category.DEFAULT"> </ category> <category android:name ="android .intent.category.BROWSABLE"> </类别> (6认同)
  • 不要忘记将此属性`android:name ="ExampleActivity"的值修改为适当的活动主类. (2认同)

Gus*_*dor 51

单个intent-filter标记中的多个操作标记也会导致相同的错误.


Dav*_*ice 23

就像Gusdor上面所说的那样,"单个intent-filter标签中的多个动作标签也会导致同样的错误." (给他信任!我可以亲吻Gusdor!)
我没有找到任何关于这个事实的文档!我添加了一个新的(USB)动作并且很聪明,我将它集中在同一个intent-filter中.它打破了发射.就像古斯多说的那样,一个意图过滤器,一个动作!显然,每个动作都应该放在自己的意图过滤器中.
看起来应该是......

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
  <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

当我这样做的时候,WAZOO!有效!


tri*_*e84 17

在应用程序启动时,您是否将活动设置为已启动的活动?

这是在您的Manifest.xml文件中完成的,类似于:

    <activity android:name=".Main" android:label="@string/app_name"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)


Ste*_*teD 8

检查您的manifest.xml.确保你有类别LAUNCHER.

<activity android:name=".myActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />

        </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)


Jas*_*ght 6

这意味着当应用程序从启动器打开时,您没有指定Android的活动作为默认值启动.您必须在Manivesst中添加一个Intent Filter,以便在启动应用程序时将其作为默认操作.

有关详细信息,请阅读http://developer.android.com/guide/topics/intents/intents-filters.html#ccases.


小智 5

我通过在应用程序标记中添加活动块来解决问题.我使用向导创建了项目,我不知道为什么我的AdroidManifest.xml文件没有包含应用程序块?我添加了应用程序块:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".ToDoListActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

我在模拟器上获得了所需的输出.


Chr*_*isF 5

正如已经指出的那样,此错误可能是由丢失或不正确引起的intent-filter

我想补充一下,如果您android:exported="false"在启动器活动(清单)中进行设置,也会显示此错误。