Android中跳转Activity报错

2017-07-27  本文已影响0人  teaGod
<Preference
            android:title="退出登录"
            android:summary="注销当前账号">
            <intent
                android:action="android.intent.action.VIEW"
                android:targetPackage="com.dragonlayout.iHealth"
                android:targetClass="com.dragonlayout.iHealth.ui.setting.LogoutDialogActivity"/>
</Preference>

Preference是按照上面的写的,下面的是AndroidManifest.xml的代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.dragonlayout.iHealth">
    <application
        android:name=".iHealthApp"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity
            android:name=".ui.setting.LogoutDialogActivity"
            android:theme="@style/LogoutDialog" />

    </application>
</manifest>

运行之后一直报错:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.dragonlayout.iHealth/com.dragonlayout.iHealth.ui.setting.LogoutDialogActivity}; have you declared this activity in your AndroidManifest.xml?

网上查找了好多方法,但是我在AndroidManifest.xml明明已经注册过了Activity,而且程序的包名写的都对。

因为我之前改过工程的名字,还有包的名字,我觉得可能是这个原因导致的,后来在AndroidManifest.xml的Merged Manifest面板看了一下,发现package节点还是修改之前的工程名,于是去build.gradle(Module.app)下面看了一下,发现果然applicationId还是修改之前的工程名,这下问题就找到了。

修改之后运行成功!

友情提醒,改工程名和包名的时候,先百度一下,看看正确的修改方法是什么,别自己瞎几把改

上一篇下一篇

猜你喜欢

热点阅读