在Android中动态设置深层链接URI

时间:2018-04-03 19:13:09

标签: android android-manifest deep-linking

Android deep linking docs表示应在AndroidManifest文件中设置URI。

有没有办法在运行时动态设置此值,而不是在AndroidManifest中设置?

2 个答案:

答案 0 :(得分:1)

不,抱歉。您无法在运行时向活动添加IntentFilter

答案 1 :(得分:1)

当然,您无法编辑意图过滤器,但可以启用/禁用与该过滤器关联的组件。 例如,在您的用户通过身份验证之前,您不希望拦截http://yoursite.com ACTION_VIEW Intent。为此,您必须设置android:enabled="false",然后在身份验证结束时,您应该使用PackageManager启用该组件:

PackageManager pm = getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(this, ActivityC.class), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0);