Activity
- 新创建的activity,必须在清单文件中做配置,否则系统找不到,在显示时会直接报错
<activity android:name"com.example.activity.SecondActivity"></activity>
- 只要有以下代码,那么就是入口activity,就会生成快捷图标
<intent-filter>
<action android:name"android.intent.action.MAIN" />
<category android:name"android.intent.category.LAUNCHER" />
</intent-filter>
android:icon"@drawable/ic_launcher"
android:label"主界面"
- 如果activity所在的包跟应用包名同名,那么可以省略不写
activity之间的跳转
隐式跳转
- 如果一个Activity如果需要隐式跳转,那么在清单文件中必须添加以下子节点
<activity android:name".SecondActivity">
<intent-filter>
<action android:name"com.itheima.sa" />
<category android:name"android.intent.category.DEFAULT" />
</intent-filter>
</activity>
- action节点的name是自己定义的,定义好之后,这个name的值就会成为这个activity动作,启动Activity时,意图中设置的action必须跟"com.itheima.sa"是完全匹配的,addCategory也必须跟android.intent.category.DEFAULT是完全匹配的,如果上面有data,那么下面也必须要有data
public void click(View v) {
Intent intent = new Intent();
intent.setAction("com.itheima.sa");
//系统会自动添加默认的category
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
}
public void click(View v) {
Intent intent = new Intent();
//参数2:目标activity的类名
intent.setClass(this, SecondActivity.class);
//跳转
startActivity(intent);
}
public void click2(View v) {
Intent intent = new Intent();
//指定目标Activity的包名和类名。
intent.setClassName("com.android.dialer", "com.android.dialer.DialtactsActivity");
//跳转
startActivity(intent);
}
//隐士跳转到拨号器
public void click(View v) {
Intent intent = new Intent();
//隐式设置拨号器的动作
intent.setAction(intent.ACTION_DIAL);
startActivity(intent);
}
网友评论