diff --git a/server/src/main/java/com/genymobile/scrcpy/FakeContext.java b/server/src/main/java/com/genymobile/scrcpy/FakeContext.java index b43e9e1b..b297773f 100644 --- a/server/src/main/java/com/genymobile/scrcpy/FakeContext.java +++ b/server/src/main/java/com/genymobile/scrcpy/FakeContext.java @@ -91,6 +91,11 @@ public final class FakeContext extends ContextWrapper { return this; } + @Override + public Context createPackageContext(String packageName, int flags) { + return this; + } + @Override public ContentResolver getContentResolver() { return contentResolver; @@ -104,9 +109,11 @@ public final class FakeContext extends ContextWrapper { return null; } - if (Context.CLIPBOARD_SERVICE.equals(name)) { + // "semclipboard" is a Samsung-internal service + // See + if (Context.CLIPBOARD_SERVICE.equals(name) || "semclipboard".equals(name)) { try { - Field field = ClipboardManager.class.getDeclaredField("mContext"); + Field field = service.getClass().getDeclaredField("mContext"); field.setAccessible(true); field.set(service, this); } catch (ReflectiveOperationException e) {