替换Android中的主要活动后无法启动应用程序

时间:2014-01-18 21:15:42

标签: android main-activity

我将MainActivity类重命名为DataActivity,并添加了一个新的主活动类,其中IntelliJ IDEA是主要活动。我将AndroidManifest.xml文件更改为以下内容:

 <application android:label="@string/app_name" android:icon="@drawable/icon">
        <activity android:name=".DataActivity"
                  android:screenOrientation="portrait">
        </activity>
        <activity android:name=".MainActivity" android:screenOrientation="portrait"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

我从手机上卸载了应用程序并删除了编译器缓存。在安装时,我得到以下异常:

  

启动应用程序:   com.example.DataTest / com.example.DataTest.DataActivity。

     

DEVICE SHELL COMMAND:我开始了--n   “com.example.DataTest / com.example.DataTest.DataActivity”   -a android.intent.action.MAIN -c android.intent.category.LAUNCHER java.lang.SecurityException:Permission Denial:start Intent {   act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER]   flg = 0x10000000 cmp = com.example.DataTest / .DataActivity}   from null(pid = 5882,uid = 2000)需要null

我还应该做些什么?

2 个答案:

答案 0 :(得分:2)

This post帮我看了哪里。在评论中,zeh声称SDK保留了对原始活动的反对意见。我检查了启动配置,在我的IDEA中,它已从“启动默认活动”更改为“启动活动:DataActivity”。 它现在可以正常工作。

答案 1 :(得分:0)

将其更改为包含新主要活动的意图过滤器:

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

并删除“MainActivity”(如果它不再存在)。即删除它:

<activity android:name=".MainActivity" android:screenOrientation="portrait"
          android:label="@string/app_name">
</activity>
相关问题