我有一个非常简单的应用(从教科书的例子),其由2个活动:第一活动UsingIntentActivity
有一个按钮。 当点击这个按钮,它必然会导致所谓的第二活动SecondActivity
这将显示在屏幕上的文本。
我能做到这一点使用startActivity(new Intent(this, SecondActivity.class));
然而在我遇到了这个例子中,使用相同的方法的另一种形式的教科书:
startActivity(new Intent("net.dreamingpixel.SecondActivity"));
而在Manifest File
相匹配的定制意图创建(我的理解):
<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>
因此,有意向过滤器和类别设置为DEFAULT
。 但是,当我尝试运行这样的应用,然后点击的按钮UsingIntentActivity
应用程序崩溃。 在日志中的猫,我可以看到以下信息:
FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute the method of the activity
然后它指向startActivity的方法,我在这篇文章的开头写的召唤。
有没有人有类似的问题? 难道我犯了一个错误的地方?
更新:我也注意到,有在警告Manifest
上,我打开第二个活动标签行文件。 它说:导出活动并不需要许可
也许这个警告必须做与我的问题东西..