运行时发生:android.intent.action.MAIN 与 android.intent.category.LAUNCHER

$ adb shell am start -n "com.hlx.administrator.hello/com.hlx.administrator.hello.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Unexpected error while executing: am start -n "com.hlx.administrator.hello/com.hlx.administrator.hello.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Error while Launching activity

第一种情况:有MAIN,无LAUNCHER,程序列表中无图标
原因:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 

第二种情况:无MAIN,有LAUNCHER,程序列表中无图标

原因:android.intent.action.MAIN决定应用程序最先启动的Activity,如果没有Main,则不知启动哪个Activity,故也不会有图标出现


解决方案:

 (1)修改AndroidManifest.XML文件

<span style="color:#666666;"><?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hlx.administrator.hello">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
     -------这是必须要添加的部分:------------
     <activity
            android:name=".MainActivity2"
            android:label="@string/app_name2" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    -------------------------------------------
    </application>

</manifest></span>
(2)添加如图所示:res|values|strings.xml|<string name="app_name2">Hello2</string>

  

 运行OK


你可能感兴趣的:(运行时发生:android.intent.action.MAIN 与 android.intent.category.LAUNCHER)