17

I use an intent to point to next activity but when i click on the button i get the following error.

03-29 11:25:55.414: E/AndroidRuntime(3921): FATAL EXCEPTION: main
\
**03-29 11:25:55.414: E/AndroidRuntime(3921): android.content.ActivityNotFoundException: 
Unable to find explicit activity class {mycube.test/mycube.test.Compte}; have you declared 
this activity in your AndroidManifest.xml?**

03-29 11:25:55.414: E/AndroidRuntime(3921):     at

 android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)


03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.app.Activity.startActivityForResult(Activity.java:2827)


03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.app.Activity.startActivity(Activity.java:2933)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at mycube.test.Menu.onClick(Menu.java:143)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.view.View.performClick(View.java:2538)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.view.View$PerformClick.run(View.java:9152)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.os.Handler.handleCallback(Handler.java:587)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.os.Handler.dispatchMessage(Handler.java:92)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at android.os.Looper.loop(Looper.java:130)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

android.app.ActivityThread.main(ActivityThread.java:3687)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

java.lang.reflect.Method.invokeNative(Native Method)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

java.lang.reflect.Method.invoke(Method.java:507)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at 

com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)

03-29 11:25:55.414: E/AndroidRuntime(3921):     at dalvik.system.NativeStart.main(Native Method)

However the file exist in my manifest. Did i omit a line in my manifest?

Here is my manifest file.

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mycube.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Light.NoTitleBar" >

        <activity
            android:name=".Menu" 
            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>

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <activity  android:name=".Compte"  android:screenOrientation="portrait" />
</manifest>
OneCricketeer
  • 179,855
  • 19
  • 132
  • 245
yakusha
  • 817
  • 7
  • 13
  • 21

3 Answers3

32

You have declared this activity outside application tag.

<activity  android:name=".Compte"  android:screenOrientation="portrait" />

Make it like this :

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Light.NoTitleBar" >

    <activity
        android:name=".Menu" 
        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>

    <activity  
         android:name=".Compte"  
         android:screenOrientation="portrait" />

</application>

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
baldguy
  • 2,090
  • 1
  • 16
  • 25
2

You placed it in the wrong locaion it should be inside the application tag. All your <activity... /> tags should be placed under the <application.. /> tag.

it should be like this:

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Light.NoTitleBar" >

<activity  
    android:name=".Compte"  
    android:screenOrientation="portrait" />

<activity
    android:name=".Menu" 
    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>
Emil Adz
  • 40,709
  • 36
  • 140
  • 187
0

The only Exception to look up is like the following.

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.firstp.ta.myapplication/com.firstp.ta.myapplication.Activity1}; have you declared this activity in your AndroidManifest.xml?

It is clearly saying that you haven't list you activity inside the AndroidManifest.xml file or If listed then it is not inside the required tag. It is also mentioning the full activity path as {com.firstp.ta.myapplication/com.firstp.ta.myapplication.Activity1} where Activity1 is your activity and need to mention inside the AndroidManifest.xml file.

Gurjinder Singh
  • 9,221
  • 1
  • 66
  • 58