Skip to content

Fix clash:// deep link not opening app due to premature Activity finish#718

Merged
wwqgtxx merged 1 commit into
MetaCubeX:mainfrom
xiwangly2:main
May 12, 2026
Merged

Fix clash:// deep link not opening app due to premature Activity finish#718
wwqgtxx merged 1 commit into
MetaCubeX:mainfrom
xiwangly2:main

Conversation

@xiwangly2
Copy link
Copy Markdown

Problem

When opening a clash://install-config?url=... deep link, the app would flash briefly or appear to not open at all.

Root Cause

In ExternalControlActivity.onCreate(), the ACTION_VIEW branch launches an async coroutine to create the profile and then start PropertiesActivity. However, after the when block, there is an unconditional return finish() at the end of onCreate(). Since launch {} returns immediately, the Activity was being destroyed before the coroutine completed — causing startActivity() to be called on an already-finished Activity.

Fix

Added a return statement after the launch {} block in the ACTION_VIEW branch to prevent execution from falling through to the premature finish(). The coroutine now manages the Activity lifecycle itself, calling finish() after startActivity() succeeds.

@AlexFozor
Copy link
Copy Markdown

I was actually running into this exact same issue.

Whenever I clicked a deep link, it looked like nothing happened. But if I clicked it multiple times and opened the app manually later, I was suddenly hit with a bunch of stacked "Profile" dialogs all at once.

This PR should fix the problem. Could we get this merged?

@wwqgtxx wwqgtxx merged commit 6332a9b into MetaCubeX:main May 12, 2026
1 check failed
ForestL18 pushed a commit to ForestL18/ClashMetaForAndroid that referenced this pull request May 13, 2026
ForestL18 pushed a commit to ForestL18/ClashMetaForAndroid that referenced this pull request May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants