Android 12 changes the default behavior of how web links are resolved by the system:
https://developer.android.com/training/app-links/deep-linking
Starting in Android 12 (API level 31), a generic web intent resolves to an activity in your app only if your app is approved for the specific domain contained in that web intent. If your app isn't approved for the domain, the web intent resolves to the user's default browser app instead.
This means we'll need to set up a Digital Asset Link file that officially associates our app with the wikipedia.org domain. (We haven't had to do this up until now, since it hasn't been mandatory in Android 11 and lower.)
https://developer.android.com/training/app-links/verify-site-associations
Requirements
We must create a file at the following location: wikipedia.org/.well-known/assetlinks.json
...that has the following contents:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "org.wikipedia", "sha256_cert_fingerprints": ["F5:40:E9:37:41:9A:1F:E3:08:E3:35:31:35:9C:23:CE:19:DF:D8:4A:66:01:E2:EF:85:C2:17:C8:23:A7:08:7F"] } }]
- If possible, the above file should reside at the base wikipedia.org domain (not any specific subdomain).
- The content-type must be application/json
- Must not be a redirect, and must be crawlable via robots.txt
https://developer.android.com/training/app-links/verify-site-associations#publish-json