首页 文章

如何在Deep Link中提供Intent数据

提问于
浏览
1

我已更新清单文件以支持深层链接 . 我已从Run(编辑配置)中检查它,它会打开指定的活动 .

现在我需要使用深层链接发送一些数据 . 那应该是什么程序呢 . 我添加了另一个数据属性,但我不明白如何以相同的键/值方式获取Activity中的数据 .

我在Activity中得到了这样的Intent

Intent intent = getIntent();
    String action = intent.getAction();
    Uri data = intent.getData();

intent.getData()具有此值= myapp:// videodeeplink

我已经阅读了一些关于此的文章和教程,但我无法得到这个 . 请指导我如何在深层链接中输入和获取一些数据 .

myapp:// videodeeplink

<activity
    android:name=".VideosListActivity"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme" >

    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="myapp" android:host="videodeeplink"/>
        <data android:scheme="videoURL" android:host="videoURL"/>
    </intent-filter>


</activity>

1 回答

  • 2

    要发送数据,您应该在数据标记中添加pathRrefix参数,如下所示 -

    <data
         android:host="@string/host"
         android:pathPrefix="path"
         android:scheme="@string/schema" />
    

    现在,当您想要解析它时,您可以使用intents来使用如下所示的pathSegments .

    mainIntent = getIntent();
         if (mainIntent!=null && mainIntent.getData()!=null && (mainIntent.getData().getScheme().equals("http"))){
                Uri data = mainIntent.getData();
                List<String> pathSegments = data.getPathSegments();
                if(pathSegments.size()>0)
                String prefix=pathSegments.get(0); // This will give you prefix as path
    

相关问题