继续获取ActivityNotFoundException

时间:2012-12-31 17:25:15

标签: android android-intent android-activity android-manifest

正如标题所说,我一直收到这个错误,不知道我错过了什么。我已多次清理该项目。这是我的代码:

 startActivity(new Intent(this, UsrPrefs.class));

在清单中:

<application

    android:label="@string/app_name" >
    <activity
        android:name=".IcyArmActivity"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity 
        android:label="@string/app_name"
        android:name=".UserPreferences"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.PREFS" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

</application>

OHHHHHHHHHHHHHHHHHHHH !!!!!谢谢你们。我认为UsrPrefs.class是该类的名称,所以我正在使用它。我现在看到了连接。 DOH !!!!

3 个答案:

答案 0 :(得分:1)

在您的清单中,活动的名称是用户首选项。这样编辑

startActivity(new Intent(this, UserPreferences.class));

答案 1 :(得分:1)

使用

startActivity(new Intent(IcyArmActivity.this, UserPreferences.class));

用于从主Activity启动新活动,因为您已将清单中的UsrPrefs声明为UserPreferences

您可以将UsrPrefs声明为清单中的新活动:

<activity android:name=".UsrPrefs" />

答案 2 :(得分:1)

这是因为您将一个类定义为具有一个名称的活动,并在manifest.xml

中启动未在该名称中注册的另一个活动

替换它:

<activity 
        android:label="@string/app_name"
        android:name=".UserPreferences"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.PREFS" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

<activity 
        android:label="@string/app_name"
        android:name=".UsrPrefs"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
        <intent-filter>
            <action android:name="android.intent.action.PREFS" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>