在Android应用中启用深层链接

时间:2016-10-01 08:54:46

标签: android android-studio deep-linking

我正在尝试使用this official guide在我的Android应用中启用深层链接。我无法理解在数据元素下添加URI的位置和方式。我的应用程序的URI值是多少?它是指包名吗?我是否必须为每个android名称活动添加intent filter标签?任何一个例子都足以让事情变得清晰。请建议。

我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp.praveen.healthcareit">

    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name="com.myapp.praveen.healthcareit.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.myapp.praveen.healthcareit.EvlHealthPlans" />
        <activity android:name="com.myapp.praveen.healthcareit.ConHealthInsurance" />
        <activity android:name="com.myapp.praveen.healthcareit.HealthPlanNetworks" />
        <activity android:name="com.myapp.praveen.healthcareit.ProvCompensation" />
        <activity android:name="com.myapp.praveen.healthcareit.CdphpPlans" />
        <activity android:name="com.myapp.praveen.healthcareit.HmoPlans" />
        <activity android:name="com.myapp.praveen.healthcareit.PpoPlans" />
        <activity android:name="com.myapp.praveen.healthcareit.ProviderTypes" />
        <activity android:name="com.myapp.praveen.healthcareit.UtilizationManagement" />
        <activity android:name="com.myapp.praveen.healthcareit.EDIConcept" />
        <activity android:name="com.myapp.praveen.healthcareit.ClaimProcessing" />
        <activity android:name="com.myapp.praveen.healthcareit.CobraHippa" />
        <activity android:name="com.myapp.praveen.healthcareit.GovernmentPrograms"></activity>
    </application>

</manifest>

2 个答案:

答案 0 :(得分:0)

intent filter的{​​{1}}标记中添加以下activity

deep linking

你的网址就像<activity android:name="com.myapp.praveen.healthcareit.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <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.example.com" android:pathPrefix="/appx" android:scheme="http" /> </intent-filter> </activity> 。所以这里的方案是http或https。如果您想要两者,则添加两个意图过滤器,一个使用http://www.example.com?appx=45,另一个使用http。然后https是您想要识别的pathPrefixurl parameters不能为空或pathprefix。最后主持人是你的网站地址深层链接。

答案 1 :(得分:0)

无需过滤所有活动仅需要您要从深层链接网址调用的活动。在清单

struct node *head = NULL;
    struct node *prev = head;

    DIR *d;
    struct dirent *dir;
    d = opendir("/var/amit12/test1/");
    if(d) {
        while ((dir = readdir(d)) != NULL) {
            if(dir->d_type == DT_REG) {
                struct node *last = (struct node*) malloc(sizeof(struct node));
                char full_path[18 + strlen(dir->d_name)];
                strcpy(full_path, "/var/amit12/test1/");
                strcat(full_path, dir->d_name);
                last->song_id = open(full_path, O_RDONLY);
                last->name = full_path;
                last->next = NULL;
                if(head == NULL) {
                    head = last;
                    prev = last;
                } else {
                    prev->next = last;
                    prev = last;
                }
                //prev.next = &last;
                //prev = last;
                printf("%s\n", dir->d_name);
            }
        }
        closedir(d);
    }

printf("printing\n");

    struct node *root = head;

    while(root != NULL) {
        printf("%s\n", root->name);
        root = root->next;
    }

你的URI将是schemename:// hostname?hereextraparametersifyouwant 在这里,您将获得完整的步骤示例 https://codelabs.developers.google.com/codelabs/android-deep-linking/index.html?index=..%2F..%2Findex