#Intent的隐式启动和显式启动

来源:互联网 发布:地摊毛巾知乎 编辑:程序博客网 时间:2024/05/22 10:54

Intent的隐式启动和显式启动

作为一名菜鸟我需要记录一下自己的学习历程

显式Intent

新建Intent对象实例化Intent

package com.example.administrator.activitylaunch;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);

// 隐式
findViewById(R.id.click).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 隐式Intent
// 只有Action和category相对应的时候才会启动
Intent intent = new Intent(“com.first”);
// 新增的一个Category因为没有相对应的Category就会出现报错
// intent.addCategory(“csljdla”);
startActivity(intent);
}
});

// 显式
findViewById(R.id.click2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent2 = new Intent(MainActivity.this,FristActivity.class);
startActivity(intent2);
}
});

}

}

显式启动Activity需要当前环境Context和跳到指定的Activity去

设置完这两个后只需要轻轻的调用StartActivity(Intent intent)这个方法之后就可以轻松的启动指定的Activity

而隐式启动Activity比上面的稍微复杂一点点 在AndroidMainifest文件中配置一下 在过滤器下写下指定的Action名称

例如





只需要Action的name对应上Intent的Action的名称和Category都对应上的话 就可以启动

0 0