最近在项目开发中,遇到需要提供呼气APP协议的需求,很不想拆穿自己的lower,当时想了很久什么是呼气APP协议,百度下,最后,哎系,就是scheme,总结下,避免下次继续懵逼。
作用
客户端应用可以向操作系统注册一个 URL scheme,该 scheme 用于从浏览器或其他应用中启动本应用。通过指定的 URL 字段,可以让应用在被调起后直接打开某些特定页面,比如车辆详情页、订单详情页、消息通知页、促销广告页等等。也可以执行某些指定动作,如订单支付等。也可以在应用内通过 html 页来直接调用显示 app 内的某个页面。
如何实现:
<!--用来测试协议的配置-->
<activity
android:name=".ui.mywrite.JumpActivity"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:scheme="xxxxx"
android:host="hhhh">
</data>
</intent-filter>
</activity>
其中
<category android:name="android.intent.category.BROWSABLE"/>
上面代码为html提供了跳转支持,如果不写这句话,是html调用不起我们的app的。
下面为html打开上图的应用界面代码,代码如下:
window.location.href='xxxxx://hhhh';
当然这个地址也需要遵循一定的规则,规则如下:
客户端自定义的 URL 作为从一个应用调用另一个的基础,遵循 RFC 1808 (Relative Uniform Resource Locators) 标准。这跟我们常见的网页内容 URL 格式一样。
我们在实际使用中以需要以下的方法:
1)获得Scheme名称
this.getIntent().getScheme();//获得Scheme名称
2)获得URl全部路径
this.getIntent().getDataString();//获得Uri全部路径
3)APP调用呼气协议
Intent intent = new Intent(Intent.ACTION_VIEW,"xxxxx://hhhh");
this.startActivityForResult(intent, 0);
希望本片文章对你有用