Activity

作者: 慢慢来111 | 来源:发表于2016-11-26 10:18 被阅读9次

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>
  • 设置app的图标和名字
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);
    }

相关文章

网友评论

      本文标题:Activity

      本文链接:https://www.haomeiwen.com/subject/hsawpttx.html