I have a very simple application (an example from a textbook) that consists of 2 activities: The first activity UsingIntentActivity
has a button. When this button is clicked it must lead to the second activity called SecondActivity
which will show a text on the screen.
I can achieve this using startActivity(new Intent(this, SecondActivity.class));
However in the textbook where I met this example another form of the same method is used:
startActivity(new Intent("net.dreamingpixel.SecondActivity"));
And in the Manifest File
a matching custom intent is created (as I understood):
<activity
android:name=".UsingIntentActivity"
android:label="@string/title_activity_using_intent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SecondActivity"
android:label="Second Activity" >
<intent-filter>
<action android:name="net.dreamingpixel.SecondActivity" />
<categoty android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
So there is an intent-filter and its category is set to DEFAULT
. But when I try to run the app like this and click the button of the UsingIntentActivity
the app crashes. In the log cat I can see the following messages:
FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute the method of the activity
And then it points to the call of the startActivity method that I wrote at the beginning of this post.
Did anyone have a similar problem? Did I make a mistake somewhere?
UPDATE: Also I noticed that there is a warning in the Manifest
file on the line where I open the second activity tag. It says: Exported activity does not require permission
Maybe this warning has to do something with my problem..