2020-07-13自定义Uri用于外部启动 app

2020-07-13  本文已影响0人  fjasmin

项目有个需求,通过语音打开相应的app,例如我说:“去新街口”,就打开高德地图。讯飞语音demo中就有这样的例子,而它就是通过uir实现的。所以在这儿对该实现做了个总结,以便随时之需。

自定义Uri用于外部启动 app

新建用于外部启动的Activity

应用 A:SchemeURL

activity: SecondActivity

<activity

android:name=".SecondActivity">

    <intent-filter>

        <data

android:scheme="jackie"

android:host="test.uri.activity"/>

    </intent-filter>

</activity><activity

android:name=".SecondActivity">

    <intent-filter>

        <data

android:scheme="jackie"

android:host="test.uri.activity"/>

    </intent-filter>

</activity>

新建启动外部应用的应用

应用 B:StartSchemeURL

Uri uri = Uri.parse("jackie://test.uri.activity?action=123");// action 为传递的数据

Intent intent =newIntent("android.jackie.schemeurl.activity");

intent.setData(uri);

startActivity(intent);

通过Uri来传递参数

应用 A:SchemeURL

activity: SecondActivity

Intent intent = getIntent();

if(null!= intent) {

    Uri uri = intent.getData();

if(uri ==null) {

return;

    }

String acionData = uri.getQueryParameter("action");

}

上一篇下一篇

猜你喜欢

热点阅读