Search code examples
javaandroidandroid-activitypreferenceactivity

Android: Unable to find explicit activity class... startActivity from a PreferenceActivity


I'm trying to start a new Activity from a PreferenceActivity. However, it fails with "Unable to find explicit activity class. Have you declared this activity in your AndroidManifest.xml?"

Well, yeah, I declared it:

<application [......] android:debuggable="true">
    <activity android:name=".AlarmSettings"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

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

    <receiver
        android:name="AlarmReceiver"
        android:process=":remote" >
    </receiver>
</application>

AlarmSettings is my PreferenceActivity. AlarmSettings calls FlashLightActivity this way:

Intent i = new Intent(AlarmSettings.this, FlashLightActivity.class);
startActivity(i);

And this is FlashLightActivity:

public class FlashLightActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.flashlight);
   }    
}

... I don't know what to do. Any ideas?


Solution

  • Copying poster's solution into the answer section, in order to remove this from the "Unanswered" filter:

    It wasn't a problem with my code, but with Eclipse and the Android SDK. After some research, I did "Help -> Check for updates" in Eclipse and everything is working now.