android scheme 参数解析,Android 利用scheme协议进行跳转
什么是 URL Scheme?
android中的scheme是一种页面内跳转协议。
通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;
通过scheme协议,服务器可以定制化告诉App跳转到APP内部页面。
之前项目都是我们客户端和服务器端用自定义json串的形式来告诉客户端如何跳转,这种方式要手动解析字段,有点麻烦。然而scheme协议自带字段解析,非常之方便,后面我们就放弃了json解析的方式。
Scheme协议在Android中使用场景
H5跳转到native页面
客户端获取push消息中后,点击消息跳转到APP内部页面
APP根据URL跳转到另外一个APP指定页面
利用scheme协议跳转的一个完整实例
在Mainefest配置文件中配置需要用scheme协议跳转的Activity
android:name=".SchemeActivity"
android:label="@string/app_name">
模拟从网络中获取scheme协议的url
public class MainActivity extends AppCompatActivity {
private TextView btnSchemeTv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSchemeTv = (TextView) findViewById(R.id.btn_scheme_tv);
btnSchemeTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
/**
* (1)在manifest配置文件中配置了scheme参数
* (2)网络端获取url
* (3)跳转
*/
String url = "scheme://mtime/goodsDetail?goodsId=10011002";
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
startActivity(intent);
}
});
}
}
获取scheme协议参数
public class SchemeActivity extends Activity {
private static final String TAG = "SchemeActivity";
private TextView schemeTv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scheme);
schemeTv = (TextView) findViewById(R.id.scheme_tv);
Uri data = getIntent().getData();
Log.i(TAG, "host = " + data.getHost() + " path = " + data.getPath() + " query = " + data.getQuery());
String param = data.getQueryParameter("goodsId");
schemeTv.setText("获取的参数为:" + param);
}
}
android scheme 参数解析,Android 利用scheme协议进行跳转相关推荐
- android开源torrent解析,Android之Bt框架
源码 7.1 框架图 启动 1.系统服务 SystemService if (isEmulator) { Slog.i(TAG, "No Bluetooth Service (emulato ...
- android 摄像头参数,获取Android设备上的详细的摄像头信息
原标题:获取Android设备上的详细的摄像头信息 如何获取Android设备上的详细的摄像头信息呢? 目前Samsung的Galaxy Tab和Nexus S均有前置摄像头,获取Android摄像头 ...
- android json格式解析,android之解析json数据格式详解
1.JSON解析 (1).解析Object之一: 解析方法: 1 JSONObject demoJson =newJSONObject(jsonString); 2 String url = demo ...
- android 关于页面,解析android中的帮助、about、关于作者、HELP等提示页面
在android中,经常要用到帮助.about.关于作者等的提示页面. 类似这样的页面: 这样的页面,我们可以通过AlertDialog对话框来设计. 设计一个AboutDialog类继承于Alert ...
- Carson带你学Android:全面解析Android消息推送解决方案
前言 鉴于现在运营需求的增强,消息推送在Android开发中应用的场景是十分常见 如电商的活动宣传.资讯类产品进行新闻推送等等 今天,我将全面介绍Android中实现消息推送的7种主流解决方案 Car ...
- android gravity参数,Gravity - [ Android中文手册 ] - 在线原生手册 - php中文网
Gravity 版本:Android 4.0 r1 结构 继承关系 public class Gravity extends Object java.lang.Object android.view. ...
- android aspectj 参数,在Android项目中使用AspectJ
什么是AOP AOP是 Aspect Oriented Programming 的缩写,即面向切面编程,和日常遇到的面向对象OOP编程不同的是,OOP是将功能模块化对象化,AOP是针对同一类的问题统一 ...
- android pppd参数介绍,android 3G pppd 调试记录
android 3G pppd 调试记录. 1. JAVA 部分 android/development/data/etc/apns-conf_sdk.xml ---> system/e ...
- android 请求参数打印,android retrofit 请求参数格式RequestBody的方法
以前都是使用 Observable login(@HeaderMap Map headers, @QueryMap Map map); @QueryMap方式,将参数放入map中传输的 现在改用Req ...
- android 请求参数打印,Android开发-----关于解决Retrofit打印HttpLog和设置连接超时的问题...
问题, 1 由于Retrofit默认连接超时时间只有10s 某些情况下可能连接时间会超过10s,这个时候就会报出SocketTimeoutException 这个时候我们就需要自己设置超时间, 2 很 ...
最新文章
- 设置文字QT按钮包含图片与文字,以及鼠标停留备注显示,和sheetstyle风格设置。...
- 非此即彼的逻辑错误_辩证思维与逻辑思维相对立
- 配置SQL Server 2012 AlwaysOn ——step1 建立AD域及DNS配置
- ASP.NET Core 使用MySQL(Database First)
- nyoj 4 ASCII码排序(set,multiset)
- 第二十一:基于Python2+Selenium3+Pytest4+Pytest-Html的UI自动化框架
- Vim中的remap,noremap,nnoremap和vnoremap映射命令有什么区别?
- 涨薪慢,该不该跳槽?
- 文言文编程可以编译成PHP吗,PSTK项目:文言文也能编程?大四学生发明文言文编程语言...
- 【C++从入门到踹门】第十四篇:二叉搜索树
- PHP 大数据处理思路
- 遭遇XP-664129A8.EXE
- 服务化治理脚本:show-busiest-java-threads。
- Window7开机速度有点慢的解决办法
- Apache Tomcat安全漏洞列表及整改建议合集
- 容器化ICT融合初体验
- html utf8转换工具,GB/BIG5/UTF-8 文件编码批量转换工具
- antd Popconfirm组件样式错乱问题
- python猜数字1001untitled_pytest封神之路第零步 快速入门
- 总结同学们第十周作业出现的问题