如何在深度链接到Android应用程序时发送数据

时间:2017-08-21 14:48:27

标签: android deep-linking

我想启用深层链接到我的应用的功能。我的应用程序的意图过滤器应该接收应该具有纬度(双)和经度(双)信息的事件。基于这些值,它将启动mapview,其位置由纬度和经度值表示。

这是我到目前为止所尝试的:

从另一个应用程序,我以这种方式发送意图:

String requestedLatitude = "48.8584";
String requestedLongitude = "2.2945";
String uri = "myapp://nearby?lat=" + requestedLatitude + "&lon=" + requestedLongitude;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(uri));
startActivity(intent); 

这就是我尝试编写意图过滤器的方法:

<intent-filter android:label="@string/intent_nearby_label">
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:scheme="myapp"
  android:host="nearby" />
</intent-filter>

我不知道如何使这个意图过滤器接收纬度和经度值以及如何在我的应用中获取它们。

我想添加与此应用相似的功能:

https://www.developers.moovitapp.com/deeplinking-your-app

我将不胜感激。

1 个答案:

答案 0 :(得分:0)

要进行深层链接,除非要将功能公开,否则无需添加过滤器。

在任何一种情况下,只需在意图中使用这些额外内容启动应用程序的主应用程序。

然后在onCreate()mehtod中获取带有Intent的{​​{1}}并检查参数。

如果他们在那里开始你的mapview活动。

如果回去你需要去你的应用程序的主要活动,你将不得不调整后栈。

参考文献:
Tasks and Back Stack
Deep Linking