新建一个OpenActivity,在清单文件加入一下代码
<activity android:name=".OpenActivity" android:exported="true" android:enabled="true" >
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:host="www.test.com" android:scheme="myscheme" />
    </intent-filter>
</activity>

新建一个html文件,在body标签加入以下代码

<a href="myscheme://www.test.com/open">启动应用</a>

或者在跨APP调起

            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setData(Uri.parse("myscheme://www.test.com/open"));
            intent.addCategory(Intent.CATEGORY_DEFAULT);

在OpenActivity中获取来源的数据

android.content.Intent intent = getIntent();
android.net.Uri uri = intent.getData();
String scheme = uri.getScheme();
String host = uri.getHost();
int port = uri.getPort();
String path = uri.getPath();
String query = uri.getQuery();
Log.d("debug", "scheme->" + scheme);//输出:scheme->buyuphk
Log.d("debug", "host->" + host);//输出:host->www.buyuphk.com
Log.d("debug", "port->" + port);//输出:port->-1
Log.d("debug", "path->" + path);//输出:path->/test
Log.d("debug", "query->" + query);//输出:query->null

之后可根据path做进一步的逻辑操作

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐