我正在尝试使用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>
答案 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
是您想要识别的pathPrefix
。 url 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