在 Android 中动态设置深层链接 URI
Set deep linking URI dynamically in Android
Androiddeep linking docs表示URI应该在AndroidManifest文件中设置。
有什么方法可以在 运行 时而不是在 AndroidManifest 中动态设置这个值?
不,对不起。您不能在运行时将 IntentFilter
添加到 activity。
当然您不能编辑 intent 过滤器,但您可以 enable/disable 与该过滤器关联的组件。
例如,在您的用户通过身份验证之前,您不想拦截 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);
Androiddeep linking docs表示URI应该在AndroidManifest文件中设置。
有什么方法可以在 运行 时而不是在 AndroidManifest 中动态设置这个值?
不,对不起。您不能在运行时将 IntentFilter
添加到 activity。
当然您不能编辑 intent 过滤器,但您可以 enable/disable 与该过滤器关联的组件。
例如,在您的用户通过身份验证之前,您不想拦截 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);