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?
I had this problem too. If you read carefully the error on the logcat, you will know what to do.
You have to declare the activity in the AndroidManifest.xml
<activity
android:name=".TheNameOfMyActivity"
android:label="@string/app_name" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
For me this error occurred because I had moved my activity class file to a different package and for some reason Eclipse didn't refactor it correctly. Always use a fully qualified name for your activity and double-check that it is accurate.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With