Unfortunately I think that approach won't work - in theory, you could set the activity completion condition to ' ... (itself)... must not be marked complete', then set it to automatically complete on view. but in practice, the system won't let you place a condition on itself.
You can sort of do it if you hide the activity, in a way so that users can still access it but cannot see the link i.e. using orphan activity (in a section past the end of course). Then you make a URL that links to the activity, and is only available if activity is not complete. This doesn't prevent access to the activity itself, but would hide the link to it.
Pretty weird/pointless requirement, but