在项目中有很多地方用到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);
}
});