我将 MainActivity
类重命名为 DataActivity
并使用 IntelliJ IDEA 添加了一个新的主 Activity 类。我将 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>
</application>
我从手机上卸载了该应用程序并删除了编译器缓存。安装时,出现以下异常:
Launching application: com.example.DataTest/com.example.DataTest.DataActivity.
DEVICE SHELL COMMAND: am start -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) requires null
我还应该做什么?
最佳答案
This post帮助我去哪里寻找。评论里,zeh声称 SDK 拥有对原始 Activity 的引用。我检查了启动配置,在我的 IDEA 中,它已从“启动默认 Activity ”更改为“启动 Activity :DataActivity”。 现在可以正常工作了。
关于android - 替换 Android 中的主要 Activity 后无法启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21209964/