diff --git a/Common/System/System.h b/Common/System/System.h index 4609088e75..43b9edaf90 100644 --- a/Common/System/System.h +++ b/Common/System/System.h @@ -167,7 +167,7 @@ enum SystemProperty { SYSPROP_HAS_LOGIN_DIALOG, SYSPROP_HAS_TEXT_CLIPBOARD, SYSPROP_HAS_TEXT_INPUT_DIALOG, // Indicates that System_InputBoxGetString is available. - SYSPROP_HAS_DEEP_LINKS, // ios-style deep links + SYSPROP_HAS_DEEP_LINKS, // iOS deep links, Android content URIs SYSPROP_CAN_CREATE_SHORTCUT, SYSPROP_CAN_SHOW_FILE, diff --git a/UI/GameScreen.cpp b/UI/GameScreen.cpp index b25edbe658..0468fd7b64 100644 --- a/UI/GameScreen.cpp +++ b/UI/GameScreen.cpp @@ -63,6 +63,11 @@ // This is in an objective-C file. #if PPSSPP_PLATFORM(IOS) void copyDeepLinkForPath(std::string_view filePath); +#elif PPSSPP_PLATFORM(ANDROID) +// The path is a content URI that PPSSPP has access to, so frontends and adb can launch it. +void copyDeepLinkForPath(std::string_view filePath) { + System_CopyStringToClipboard(std::string(filePath)); +} #else // dummy void copyDeepLinkForPath(std::string_view) {} diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp index cd6f02e710..99e6b42cf9 100644 --- a/android/jni/app-android.cpp +++ b/android/jni/app-android.cpp @@ -404,6 +404,8 @@ bool System_GetPropertyBool(SystemProperty prop) { return androidVersion >= 11; // honeycomb case SYSPROP_HAS_TEXT_CLIPBOARD: return true; + case SYSPROP_HAS_DEEP_LINKS: + return true; // The game's content URI, launchable through an intent. case SYSPROP_CAN_LAUNCH_URL: return true; case SYSPROP_HAS_OPEN_DIRECTORY: