2014-01-18 36 views
1

我将MainActivity类重命名为DataActivity,并将IntelliJ IDEA添加为主要活动类作为主要活动。我改变了AndroidManifest.xml文件到以下几点:替换Android中的主要活动后无法启动应用程序

<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。

设备的外壳命令:我开始-n “com.example.DataTest/com.example.DataTest.DataActivity” -a android.intent.action.MAIN -c android.intent.category.LAUNCHER的java.lang .SecurityException:Permission Denial:starting Intent { act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10000000 cmp = com.example.DataTest/.DataActivity} from null(pid = 5882,uid = 2000)要求为空

我还应该做什么?

回答

0

This post帮助我在哪里看。在评论中,zeh声称SDK对原始活动有抵触情绪。我检查了启动配置,并在我的IDEA中将其从“启动默认活动”更改为“启动活动:DataActivity”。 现在可以工作了。

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> 
+1

你误会了我。我希望MainActivity成为主要活动,因此我将原始文件重命名为DataActivity。我无法删除它。 – Nestor

+0

您正试图在shell命令行中从“DataActivity”启动应用程序。您无法启动任何活动,只有具有“主要”行为的活动 – Jim

相关问题