Android 之Intent隐式用法拨号、发短信、打开网页

这篇博客主要探讨Android中Intent的隐式使用,包括如何利用隐式Intent打开网页、拨打电话和发送短信。在打开网页时,通过intent内置动作和setData方法实现。在清单文件中配置data标签以匹配不同的网页数据。此外,还介绍了如何不手动拨打电话和发送短信的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在项目中有很多地方用到Intent,Intent分为显示和隐式两种跳转到的方法,那么我们在这篇博客主要讲解一下隐式跳转的方法,以及几种在项目中需要的功能:

1.打开网页

隐式Intent,让我们不止下原Activity中跳转,也可以在多个Activity中进行跳转,共享数据。那么首先讲解,利用隐式跳转跳转到其他网页,代码如下:

加入网络权限:<uses-permission android:name="android.permission.INTERNET"/>
 button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("https://blog.youkuaiyun.com/LoverLeslie"));
                startActivity(intent);
            }
        });
加入拨号权限:<uses-permission android:name="android.permission.CALL_PHONE"/>

通过intent的一个内置动作,调用setData的方法,把Uri对象传递过去,从而就可以实现跳转了。

 

 

当我们想打开这个的网页的时候,为了满足客户的需求,所以需要创建多种打开方式,供客户选择:

1.首先我可以在清单文件中配置一个data的标签,只有data标签中Intemt携带的Date完全一致时,才能指定当前活动能够响应其相对应的数据配置如下:

  • scheme 用于指定数据的协议部分 http部分,只需指定该部分,足以响应
  • host 指定数据主机名部分 例如 blog.youkuaiyun.com/LoverLeslie
  • port 数据的端口部分 在主机名后
  • mimeType 处理数据类型

 

2.拨打电话

拨号权限:<uses-permission android:name="android.permission.CALL_PHONE"/>
 button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:100086"));
                startActivity(intent);
            }
        });

 

 2.无需手动拨打电话

 button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent3 = new Intent();
                intent3.setAction(Intent.ACTION_CALL);
                intent3.setData(Uri.parse("tel:10086"));
                startActivity(intent3);
            }
        });

 

  3.发短信

 button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent2 = new Intent(Intent.ACTION_SENDTO);
                intent2.setData(Uri.parse("smsto:10086"));
                intent2.putExtra("sms_body", "The SMS text");
                startActivity(intent2);
            }
        });

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值