在我试图找出如何在我的应用程序中启动新意图的过程中,我遇到了几种措辞方式。
此语法返回运行时错误,即 ActivityNotFound 异常
Intent in = new Intent("com.something.something");
当然,我的 android manifest 在意图过滤器中包含一个动作:
<activity
android:name=".SecondActivity"
android:label="@string/title_activity_second" >
<intent-filter>
<action android:name="com.something.something" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这种格式有效:
Intent in = new Intent(MainActivity.this, SecondActivity.class);
我还尝试了以下方法:
Intent in = new Intent(this, SomeActivity.class);
这是我正在阅读的一本书中推荐的。这会返回一个运行时错误,activitynotfound
这让 Eclipse 让我在 setClass 和 setClassName 之间来回切换:
Intent in = new Intent().setClass(this, SecondActivity.class);
我在 onclick 方法中使用它:
ok.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent in = new Intent(MainActivity.this, SecondActivity.class);
startActivity(in);
}
});
}
这些有什么区别,为什么只有其中一个为我工作?
问候/米