我需要找到我的应用程序打开的来源,例如(fb、twitter、g+)有没有办法找到它。 我知道在 url 的 header 中有一个开放的引荐来源网址,但我如何在 android 应用程序中获取此信息
最佳答案
Google 为此提供在线资料: https://codelabs.developers.google.com/codelabs/deeplink-referrer
总结
您可以使用 Activity#getReferrer()获取深层链接的引荐来源网址。它从 API 22 开始可用。
对于 API 级别 21 及以下,您可以使用上述在线资料中的以下代码段:
private static final String REFERRER_NAME = "android.intent.extra.REFERRER_NAME";
/** Returns the referrer on devices running SDK versions lower than 22. */
private Uri getReferrerCompatible(Activity activity) {
Intent intent = activity.getIntent();
Uri referrerUri = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
if (referrerUri != null) {
return referrerUri;
}
String referrer = intent.getStringExtra(REFERRER_NAME);
if (referrer != null) {
// Try parsing the referrer URL; if it's invalid, return null
try {
return Uri.parse(referrer);
} catch (ParseException e) {
return null;
}
}
return null;
}
关于android - 如何像在网络中的开放引荐来源网址中那样找到android应用程序深层链接的点击位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37707394/