Android deep linking docs表示应在AndroidManifest文件中设置URI。
有没有办法在运行时动态设置此值,而不是在AndroidManifest中设置?
答案 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);