最近在项目开发中,遇到需要提供呼气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);

希望本片文章对你有用