《第一行代码》---activity之隐式intent使用(二)

本文介绍了如何使用隐式Intent在Android应用之间进行交互,包括启动其他应用的Activity以及数据传递。示例代码展示了如何跳转到浏览器并传递数据到下一个Activity,以及从后一个Activity返回数据到前一个Activity。通过这种方式,可以实现不同应用的功能共享和数据交换。
摘要由CSDN通过智能技术生成

隐式intent的其他应用

使用隐式Intent ,不仅可以启动自己程序内的Activity,还可以启动其他程序的Activity,这就使多个应用程序之间的功能共享成为了可能


一、app之间的相互调用

如在应用中需要调用联系人中的电话或者浏览器,通过隐式的intent可以实现这种功能。

代码如下:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.parse("https://www.baidu.com");
    intent.setData(uri);
    startActivity(intent);

这里的话和xml文件中的action不一致也没关系,同样能执行成功。实现效果图就是当点击login按钮时,页面跳转到百度首页。
在这里插入图片描述
在这里插入图片描述

二、activity传递数据

1.由前一个activity向后一个activity传递数据

传递数据

    Intent intent = new Intent(MainActivity.this, FirstActivity_shouye.class);

    String username = usernameText.getText().toString().trim();
    intent.putExtra("username",username);
    startActivity(intent);

接收数据

	TextView userview = findViewById(R.id.usertext);
    Intent intent = getIntent();
    String name = intent.getStringExtra("username");
    userview.setText(name);

2.由后一个activity向前一个activity传递数据

第一个activity中的代码如下:

 btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,Second_Activity.class);
                startActivityForResult(intent,1);
              
            }
        });
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 1:
                if (resultCode == RESULT_OK) {
                    String shuju = data.getStringExtra("data");
                    Log.d("f00",shuju);
                }
                break;
            default:
                Log.d("ww","shuju");

        }
    }

第二个activity的代码

 btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent();
                intent.putExtra("data","hello,MainActivity!");
                setResult(RESULT_OK,intent);

                finish();
            }
        });

总结

intent隐式使用可以用来调用其他应用。后一个activity向前一个activity传递数据的过程也是比较重要。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来给你讲解一下如何实现这个功能。 首先,我们需要创建两个Activity,一个是MainActivity,另一个是SecondActivity。 MainActivity布局文件中需要添加一个Button控件,代码如下: ```xml <Button android:id="@+id/btn_jump" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳转"/> ``` 在MainActivity中,需要为Button添加点击事件,代码如下: ```java Button btnJump = findViewById(R.id.btn_jump); btnJump.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 显式Intent跳转 Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); } }); ``` 这样点击按钮就可以跳转到SecondActivity了。 接下来,我们再看一下如何使用隐式Intent跳转。 在AndroidManifest.xml文件中,需要为SecondActivity添加一个intent-filter,代码如下: ```xml <activity android:name=".SecondActivity"> <intent-filter> <action android:name="com.example.action.SECOND_ACTIVITY"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> ``` 在MainActivity中,为Button添加点击事件,代码如下: ```java Button btnJump = findViewById(R.id.btn_jump); btnJump.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 隐式Intent跳转 Intent intent = new Intent("com.example.action.SECOND_ACTIVITY"); startActivity(intent); } }); ``` 这样点击按钮也可以跳转到SecondActivity了。 在SecondActivity中,需要添加一个TextView控件,代码如下: ```xml <TextView android:id="@+id/tv_second" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是第个界面"/> ``` 至此,我们已经完成了这个需求的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值