Android Intent 跳转

intent跳转

最基础:

Intent intent = new Intent();
intent.setClass(MainActivity.this,TwoActivity.class);
startActivity(intent);

隐式跳转:

打开main文件夹下的AndroidManifest.xml文件

新建

在里面新建

再新建一个 *action必须创建

新建一个 *如果需要隐式跳转必须建立

Action:

ACTION_CALL activity 启动一个电话.

ACTION_EDIT activity 显示用户编辑的数据.

ACTION_MAIN activity 作为Task中第一个Activity启动

ACTION_SYNC activity 同步手机与数据服务器上的数据.

ACTION_BATTERY_LOW broadcast receiver 电池电量过低警告.

ACTION_HEADSET_PLUG broadcast receiver 插拔耳机警告

ACTION_SCREEN_ON broadcast receiver 屏幕变亮警告.

ACTION_TIMEZONE_CHANGED broadcast receiver 改变时区警告.

Category:

CATEGORY_DEFAULT:Android系统中默认的执行方式,按照普通Activity的执行方式执行。表示所有intent都可以激活它

CATEGORY_HOME:设置该组件为Home Activity。

CATEGORY_PREFERENCE:设置该组件为Preference。

CATEGORY_LAUNCHER:设置该组件为在当前应用程序启动器中优先级最高的Activity,通常为入口ACTION_MAIN配合使用。

CATEGORY_BROWSABLE:设置该组件可以使用浏览器启动。表示该activity只能用来浏览网页。

CATEGORY_GADGET:设置该组件可以内嵌到另外的Activity中。

示例一:

打电话

Intent intent = new Intent(“android.intent.action.CALL”);
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse(“tel:133333333”));
startActivity(intent);

示例二:

跳转界面

Intent intent = new Intent();
intent.setAction(“com.example.intentchange.TwoActivity”);

储存数据跳转

MainActivity

创建

Intent intent = new Intent();
Bundle bundle = new Bundle();

存放字符串 键值对存放 key->value

bundle.putString(“users”,“xd”);

存放界面中的值

bundle.putString(“id”,id.getText().toString()); 获取文本 转为字符串

将bundle中的数据转到intent中

intent.getExtras(bundle);

获取跳转

1、显式

intent.setClass(MainActivity.this,TwoActivity.class);
startActivity(intent);

2、隐式

intnet.setAction(“com.example.intent.MainActivity”);
startActivity(intent);

TwoActivity

创建bundle接收数据
Bundle bundle = getIntent().getExtras();

String users = bundle.getString(“users”); 获取传递的字符串

Staring text1 = bundle.getString(“id”); 获取传过来的文本

text_put.setText(“users:”+users+“id”+text1); 输出获取的文本

获取后返回内容

MainActivity

启动时 将startActivity(intent)换成 startActivityForResult(intent,1); 1为返回值

创建一个 新的方法 onActivityResult 用来获取返回内容
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);

    switch (requestCode){     获取返回值进行判断
        case 1:
            if(resultCode == RESULT_OK){   结果值为RESULT_OK进行以下步骤
                //取数据
                String res = data.getStringExtra("result");  获取返回的内容

                Toast.makeText(MainActivity.this,s,Toast.LENGTH_SHORT).show(); 通过弹出的方式显示出来

            }
            break;

            default:
                break;
    }

TwoActivity

创建跳转
Intent intent = new Intent();

获取要返回的内容
intent.putExtra(“result”,“接收成功”);

隐式跳转回主界面
intent.setAction(“android.intent.action.MAIN”);

setResult(RESULT_OK,intent); RESULT_OK系统自带结果值 创建的跳转

finish(); 然后系统知道完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章