إدارة الاستجابة السريعة (SdkSandboxManager)

public final class SdkSandboxManager
extends Object

java.lang.Object
android.app.sdksandbox.SdkSandboxManager


توفّر واجهات برمجة التطبيقات لتحميل SDKs في عملية وضع الحماية لحزمة تطوير البرامج (SDK)، ثم التفاعل معها.

وضع الحماية لحزمة تطوير البرامج (SDK) هو عملية JavaScript يتم تشغيلها في نطاق uid منفصل. قد يكون لكل تطبيق حزمة تطوير برامج (SDK) خاصة به وضع الحماية.

يحتاج التطبيق أولاً إلى الإفصاح عن حِزم تطوير البرامج (SDK) التي يعتمد عليها في ملف البيان الخاص به، وذلك باستخدام علامة <uses-sdk-library>. وقد لا تحمِّل التطبيقات سوى حِزم تطوير البرامج (SDK) التي تعتمد عليها في وضع الحماية لحِزم SDK.

ملخّص

الصفوف المتداخلة

interface SdkSandboxManager.SdkSandboxProcessDeathCallback

طلب معاودة الاتصال لتتبُّع الموت في وضع الحماية لحزمة تطوير البرامج (SDK) للأحداث 

الثوابت

String EXTRA_DISPLAY_ID

اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تحدِّد قيمته رقم تعريف العدد الصحيح للرمز المنطقي الشاشة لعرض SurfacePackage.

String EXTRA_HEIGHT_IN_PIXELS

تشير هذه السمة إلى اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تحدّد قيمته ارتفاع العدد الصحيح لـ SurfacePackage بالبكسل.

String EXTRA_HOST_TOKEN

هو اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تتضمّن قيمته الرمز المميّز الذي يعرضه SurfaceView.getHostToken() بعد إكمال SurfaceView. مضافة إلى التسلسل الهرمي للعرض.

String EXTRA_SURFACE_PACKAGE

اسم المفتاح في الحزمة الذي يتم تمريره إلى الدالة onResult في OutcomeReceiver، وهو الحقل requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، وتعرض قيمته القيمة المطلوبة SurfacePackage.

String EXTRA_WIDTH_IN_PIXELS

تشير هذه السمة إلى اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تحدّد قيمته عرض العدد الصحيح من SurfacePackage بالبكسل.

int LOAD_SDK_ALREADY_LOADED

سبق أن تم تحميل حزمة SDK.

int LOAD_SDK_INTERNAL_ERROR

حدث خطأ داخلي أثناء تحميل حزمة SDK.

int LOAD_SDK_NOT_FOUND

لم يتم العثور على حزمة SDK.

int LOAD_SDK_SDK_DEFINED_ERROR

حدث خطأ في حزمة SDK بعد التحميل.

int LOAD_SDK_SDK_SANDBOX_DISABLED

تم إيقاف وضع الحماية لحزمة تطوير البرامج (SDK).

int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

حدث خطأ داخلي أثناء طلب SurfacePackage.

int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

لم يتم تحميل حزمة SDK أثناء طلب SurfacePackage.

int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

عملية وضع الحماية لحزمة تطوير البرامج (SDK) غير متاحة.

String SDK_SANDBOX_SERVICE

استخدِمه مع Context#getSystemService(String) لاسترداد بيانات SdkSandboxManager. للتفاعل مع حِزم تطوير البرامج (SDK) التابعة لهذا التطبيق العميل

int SDK_SANDBOX_STATE_DISABLED

تم إيقاف وضع الحماية لحزمة تطوير البرامج (SDK).

int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

تم تفعيل وضع الحماية لحزمة تطوير البرامج (SDK).

الطرق العامة

void addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

إضافة طلب معاودة الاتصال يتم تسجيله في أحداث مراحل نشاط وضع الحماية لحزمة تطوير البرامج (SDK)، مثل وضع الحماية لحزمة تطوير البرامج (SDK) الموت

void addSyncedSharedPreferencesKeys(Set<String> keys)

إضافة مفاتيح لمجموعة المفاتيح التي تتم مزامنتها من SharedPreferences التلقائي للتطبيق إلى حزمة تطوير البرامج (SDK) وضع الحماية.

List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces()

لجلب قائمة بـ AppOwnedSdkSandboxInterface التي تم تسجيلها في أحد التطبيقات

List<SandboxedSdk> getSandboxedSdks()

يجلب معلومات عن حِزم تطوير البرامج (SDK) التي يتم تحميلها في وضع الحماية.

static int getSdkSandboxState()

يعرض الحالة الحالية لمدى توفّر ميزة وضع الحماية لحزمة تطوير البرامج (SDK).

Set<String> getSyncedSharedPreferencesKeys()

عرض مفاتيح الضبط التي تتم مزامنتها من SharedPreferences التلقائي للتطبيق إلى وضع حماية SDK.

void loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

تعمل هذه السياسة على تحميل حزمة تطوير البرامج (SDK) في عملية JavaScript في وضع الحماية لحزمة تطوير البرامج (SDK).

void registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

تسجيل AppOwnedSdkSandboxInterface لمعالجة التطبيقات.

void removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

يؤدي هذا الإجراء إلى إزالة إذن SdkSandboxProcessDeathCallback تمت إضافته سابقًا باستخدام addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback).

void removeSyncedSharedPreferencesKeys(Set<String> keys)

إزالة المفاتيح من مجموعة المفاتيح التي تمت إضافتها باستخدام addSyncedSharedPreferencesKeys(java.util.Set)

سيتم محو المفاتيح التي تمت إزالتها من وضع الحماية لحزمة تطوير البرامج (SDK) إذا سبقت مزامنتها.

void requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

يرسل طلبًا للحصول على حزمة مساحة عرض إلى حزمة تطوير البرامج (SDK).

void startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)

تؤدي هذه السياسة إلى بدء تشغيل "Activity" في وضع الحماية الخاص بحزمة تطوير البرامج (SDK).

void unloadSdk(String sdkName)

يؤدي هذا الخيار إلى إلغاء تحميل حزمة تطوير برامج (SDK) سبق أن حمَّلها المتصل.

void unregisterAppOwnedSdkSandboxInterface(String name)

إلغاء تسجيل ERROR(/AppOwnedSdkSandboxInterfaces) لمعالجة عملية التطبيق.

الطرق المكتسبة

الثوابت

EXTRA_DISPLAY_ID

public static final String EXTRA_DISPLAY_ID

اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تحدِّد قيمته رقم تعريف العدد الصحيح للرمز المنطقي الشاشة لعرض SurfacePackage.

القيمة الثابتة: "android.app.sdksandbox.extra.DISPLAY_ID"

EXTRA_HEIGHT_IN_PIXELS

public static final String EXTRA_HEIGHT_IN_PIXELS

تشير هذه السمة إلى اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تحدّد قيمته ارتفاع العدد الصحيح لـ SurfacePackage بالبكسل.

القيمة الثابتة: "android.app.sdksandbox.extra.HEIGHT_IN_PIXELS"

EXTRA_HOST_TOKEN

public static final String EXTRA_HOST_TOKEN

هو اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تتضمّن قيمته الرمز المميّز الذي يعرضه SurfaceView.getHostToken() بعد إكمال SurfaceView. مضافة إلى التسلسل الهرمي للعرض. لا يتم قبول سوى قيمة غير فارغة لتفعيل تقارير أخطاء ANR.

القيمة الثابتة: "android.app.sdksandbox.extra.HOST_TOKEN"

حزمة_EXTRA_SURFACE_PACKAGE

public static final String EXTRA_SURFACE_PACKAGE

اسم المفتاح في الحزمة الذي يتم تمريره إلى الدالة onResult في OutcomeReceiver، وهو الحقل requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، وتعرض قيمته القيمة المطلوبة SurfacePackage.

القيمة الثابتة: "android.app.sdksandbox.extra.SURFACE_PACKAGE"

EXTRA_WIDTH_IN_PIXELS

public static final String EXTRA_WIDTH_IN_PIXELS

تشير هذه السمة إلى اسم المفتاح الذي سيتم استخدامه في حقول الحزمة requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver)، ويجب أن تحدّد قيمته عرض العدد الصحيح من SurfacePackage بالبكسل.

القيمة الثابتة: "android.app.sdksandbox.extra.WIDTH_IN_PIXELS"

LOAD_SDK_ALREADY_LOADED

public static final int LOAD_SDK_ALREADY_LOADED

سبق أن تم تحميل حزمة SDK.

يشير ذلك إلى أنّ التطبيق العميل قد حاول إعادة تحميل حزمة تطوير البرامج (SDK) نفسها من خلال طلب loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) بعد تم تحميل البيانات بنجاح.

القيمة الثابتة: 101 (0x00000065)

LOAD_SDK_INTERNAL_ERROR

public static final int LOAD_SDK_INTERNAL_ERROR

حدث خطأ داخلي أثناء تحميل حزمة SDK.

يشير ذلك إلى حدوث خطأ داخلي عام أثناء تطبيق الاستدعاء من العميل. التطبيق.

القيمة الثابتة: 500 (0x000001f4)

LOAD_SDK_NOT_FOUND

public static final int LOAD_SDK_NOT_FOUND

لم يتم العثور على حزمة SDK.

يشير ذلك إلى أنّ تطبيق العميل حاول تحميل حزمة تطوير برامج (SDK) غير حالية من خلال طلب loadSdk(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver).

القيمة الثابتة: 100 (0x00000064)

LOAD_SDK_SDK_DEFINED_ERROR

public static final int LOAD_SDK_SDK_DEFINED_ERROR

حدث خطأ في حزمة SDK بعد التحميل.

يشير ذلك إلى أنّ حزمة تطوير البرامج (SDK) واجهت خطأً أثناء إعداد ما بعد التحميل. تشير رسالة الأشكال البيانية يمكن الحصول على تفاصيل هذا من الحزمة التي تم إرجاعها في LoadSdkException من خلال تم تمرير OutcomeReceiver إلى SdkSandboxManager#loadSdk.

القيمة الثابتة: 102 (0x00000066)

LOAD_SDK_SDK_SANDBOX_DISABLED

public static final int LOAD_SDK_SDK_SANDBOX_DISABLED

تم إيقاف وضع الحماية لحزمة تطوير البرامج (SDK).

ويشير ذلك إلى إيقاف وضع الحماية لحزمة تطوير البرامج (SDK). أي محاولات لاحقة لتحميل حِزم SDK في فسيفشل هذا التمهيد أيضًا.

القيمة الثابتة: 103 (0x00000067)

REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

public static final int REQUEST_SURFACE_PACKAGE_INTERNAL_ERROR

حدث خطأ داخلي أثناء طلب SurfacePackage.

يشير هذا إلى حدوث خطأ داخلي عام أثناء طلب SurfacePackage

القيمة الثابتة: 700 (0x000002bc)

REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED (حزمة_SDK_NOT_LOADED)

public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED

لم يتم تحميل حزمة SDK أثناء طلب SurfacePackage.

يشير ذلك إلى أنّ حزمة تطوير البرامج (SDK) التي يتم طلب SurfacePackage لها ليست تحميله، إما بسبب توقف وضع الحماية أو عدم تحميله في المقام الأول.

القيمة الثابتة: 701 (0x000002bd)

حزمة_SANDBOX_PROCESS_NOT_available

public static final int SDK_SANDBOX_PROCESS_NOT_AVAILABLE

عملية وضع الحماية لحزمة تطوير البرامج (SDK) غير متاحة.

يشير ذلك إلى أنّ عملية وضع الحماية لحزمة تطوير البرامج (SDK) غير متاحة، إما بسبب إيقافها. غير متصل أو لم يتم إنشاؤه في المقام الأول.

القيمة الثابتة: 503 (0x000001f7)

SDK_SANDBOX_SERVICE

public static final String SDK_SANDBOX_SERVICE

استخدِمه مع Context#getSystemService(String) لاسترداد بيانات SdkSandboxManager. للتفاعل مع حِزم تطوير البرامج (SDK) التابعة لهذا التطبيق العميل

القيمة الثابتة: "SDK_sandbox"

حزمة_SDK_SANDBOX_state_DISABLED

public static final int SDK_SANDBOX_STATE_DISABLED

تم إيقاف وضع الحماية لحزمة تطوير البرامج (SDK).

واجهات برمجة تطبيقات SdkSandboxManager مخفية. وستؤدي محاولات الاتصال به إلى UnsupportedOperationException.

القيمة الثابتة: 0 (0x00000000)

SDK_SANDBOX_state_تصل_PROCESS_ISOLATION

public static final int SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

تم تفعيل وضع الحماية لحزمة تطوير البرامج (SDK).

يمكن أن يستخدم التطبيق واجهات برمجة تطبيقات SdkSandboxManager لتحميل SDKs الذي يعتمد عليه في عملية وضع الحماية لحزمة تطوير البرامج (SDK) المقابلة.

القيمة الثابتة: 2 (0x00000002)

الطرق العامة

addSdkSandboxProcessDeathCallback

public void addSdkSandboxProcessDeathCallback (Executor callbackExecutor, 
                SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

إضافة طلب معاودة الاتصال يتم تسجيله في أحداث مراحل نشاط وضع الحماية لحزمة تطوير البرامج (SDK)، مثل وضع الحماية لحزمة تطوير البرامج (SDK) الموت إذا لم يتم إنشاء وضع الحماية بعد عند استدعاء هذا، فسيكون الطلب بتخزينه حتى يتم إنشاء وضع الحماية، وعندها يتم تنشيطه لوضع الحماية هذا. منتجات يمكن إضافة عمليات معاودة الاتصال للكشف عن حالة الوفاة ولن تتم إزالتها عند إيقاف وضع الحماية.

المعلمات
callbackExecutor Executor: السمة Executor المطلوب استدعاء معاودة الاتصال عليها لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

callback SdkSandboxManager.SdkSandboxProcessDeathCallback: SdkSandboxProcessDeathCallback الذي سيستلم وضع الحماية لحزمة تطوير البرامج (SDK) الأحداث في مراحل النشاط المختلفة. لا يمكن أن تكون هذه القيمة null.

addSyncedSharedPreferencesKeys

public void addSyncedSharedPreferencesKeys (Set<String> keys)

إضافة مفاتيح لمجموعة المفاتيح التي تتم مزامنتها من SharedPreferences التلقائي للتطبيق إلى حزمة تطوير البرامج (SDK) وضع الحماية.

ستتوفّر البيانات المتزامنة لحِزم SDK لقراءتها باستخدام واجهة برمجة تطبيقات SdkSandboxController.getClientSharedPreferences().

ولإيقاف مزامنة أي مفتاح تمت إضافته باستخدام واجهة برمجة التطبيقات هذه، يمكنك استخدام removeSyncedSharedPreferencesKeys(java.util.Set).

تتوقف المزامنة إذا تمت إعادة تشغيل التطبيق، وعلى المستخدم استدعاء واجهة برمجة التطبيقات هذه مرة أخرى لإعادة إنشاء المجموعة. من المفاتيح للمزامنة.

ملاحظة: لا تتيح هذه الفئة الاستخدام في عمليات متعددة.

المعلمات
keys Set: مجموعة المفاتيح التي ستتم مزامنتها مع Sandbox لا يمكن أن تكون هذه القيمة null.

واجهة getAppFoundSdkSandboxInterfaces

public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()

لجلب قائمة بـ AppOwnedSdkSandboxInterface التي تم تسجيلها في أحد التطبيقات

المرتجعات
List<AppOwnedSdkSandboxInterface> قائمة فارغة في حال عدم العثور على contactsInfo في الخريطة، وبخلاف ذلك، قائمة من AppOwnedSdkSandboxInterface لا يمكن أن تكون هذه القيمة null.

مجموعة getSandboxedSdks

public List<SandboxedSdk> getSandboxedSdks ()

يجلب معلومات عن حِزم تطوير البرامج (SDK) التي يتم تحميلها في وضع الحماية.

المرتجعات
List<SandboxedSdk> قائمة SandboxedSdk تحتوي على جميع حِزم تطوير البرامج (SDK) التي تم تحميلها حاليًا لا يمكن أن تكون هذه القيمة null.

GetSdkSandboxState

public static int getSdkSandboxState ()

يعرض الحالة الحالية لمدى توفّر ميزة وضع الحماية لحزمة تطوير البرامج (SDK).

المرتجعات
int القيمة SDK_SANDBOX_STATE_DISABLED أو SDK_SANDBOX_STATE_ENABLED_PROCESS_ISOLATION

getSyncedSharedPreferencesKeys

public Set<String> getSyncedSharedPreferencesKeys ()

عرض مفاتيح الضبط التي تتم مزامنتها من SharedPreferences التلقائي للتطبيق إلى وضع حماية SDK.

المرتجعات
Set<String> لا يمكن أن تكون هذه القيمة null.

تحميل البيانات

public void loadSdk (String sdkName, 
                Bundle params, 
                Executor executor, 
                OutcomeReceiver<SandboxedSdkLoadSdkException> receiver)

تعمل هذه السياسة على تحميل حزمة تطوير البرامج (SDK) في عملية JavaScript في وضع الحماية لحزمة تطوير البرامج (SDK).

يتم تحميل مكتبة حِزم تطوير البرامج (SDK) مع sdkName في عملية وضع الحماية لحزمة تطوير البرامج (SDK) بشكل غير متزامن. تشير رسالة الأشكال البيانية سيتم إشعار المتصل من خلال receiver.

يجب أن يفصح المتّصل في الوقت الحالي عن السمة SDKs التي تعتمد عليها في ملف البيان الخاص به باستخدام العلامة <uses-sdk-library>. يمكن للمتصل تحميل ملفات SDKs التي تعتمد عليها فقط في حزمة تطوير البرامج (SDK). وضع الحماية.

عندما يقوم تطبيق العميل بتحميل أول SDK، سيتم إنشاء عملية وضع حماية جديدة لحزمة SDK إنشاء. إذا سبق وتم إنشاء وضع حماية لتطبيق العميل، ستتضمّن حزمة SDK إضافية. سيتم تحميلها في وضع الحماية ذاته.

لا يمكن طلب واجهة برمجة التطبيقات هذه إلا أثناء تشغيل المتصل في المقدّمة. المكالمات من الخلفية إلى عرض LoadSdkException في receiver.

المعلمات
sdkName String: اسم حزمة SDK التي سيتم تحميلها لا يمكن أن تكون هذه القيمة null.

params Bundle: مَعلمات إضافية سيتم تمريرها إلى حزمة تطوير البرامج (SDK) على شكل Bundle على النحو المتفق عليه بين العميل وحزمة SDK. لا يمكن أن تكون هذه القيمة null.

executor Executor: السمة Executor التي سيتم استدعاء المستلِم فيها لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

receiver OutcomeReceiver: إمّا تلقّي SandboxedSdk عند إجراء عملية تشغيل ناجحة أو تلقّي LoadSdkException. لا يمكن أن تكون هذه القيمة null.

سجِّل AppOwnerSdkSandboxInterface

public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)

تسجيل AppOwnedSdkSandboxInterface لمعالجة التطبيقات.

جارٍ تسجيل "AppOwnedSdkSandboxInterface" يحمل الاسم نفسه الذي كان يتم استخدامه سابقًا الواجهة المسجّلة إلى IllegalStateException.

يشير AppOwnedSdkSandboxInterface#getName() إلى اسم الواجهة.

المعلمات
appOwnedSdkSandboxInterface AppOwnedSdkSandboxInterface: AppOwnerSdkSandboxInterface المطلوب تسجيله لا يمكن أن تكون هذه القيمة null.

removeSdkSandboxProcessDeathCallback

public void removeSdkSandboxProcessDeathCallback (SdkSandboxManager.SdkSandboxProcessDeathCallback callback)

يؤدي هذا الإجراء إلى إزالة إذن SdkSandboxProcessDeathCallback تمت إضافته سابقًا باستخدام addSdkSandboxProcessDeathCallback(java.util.concurrent.Executor, android.app.sdksandbox.SdkSandboxManager.SdkSandboxProcessDeathCallback).

المعلمات
callback SdkSandboxManager.SdkSandboxProcessDeathCallback: السمة SdkSandboxProcessDeathCallback التي تمت إضافتها سابقًا باستخدام SdkSandboxManager#addSdkSandboxProcessDeathCallback(Executor, SdkSandboxProcessDeathCallback) لا يمكن أن تكون هذه القيمة null.

removeSyncedSharedPreferencesKeys

public void removeSyncedSharedPreferencesKeys (Set<String> keys)

إزالة المفاتيح من مجموعة المفاتيح التي تمت إضافتها باستخدام addSyncedSharedPreferencesKeys(java.util.Set)

سيتم محو المفاتيح التي تمت إزالتها من وضع الحماية لحزمة تطوير البرامج (SDK) إذا سبقت مزامنتها.

المعلمات
keys Set: مجموعة من أسماء المفاتيح التي يجب عدم مزامنتها مع Sandbox لا يمكن أن تكون هذه القيمة null.

طلب SurfacePackage

public void requestSurfacePackage (String sdkName, 
                Bundle params, 
                Executor callbackExecutor, 
                OutcomeReceiver<BundleRequestSurfacePackageException> receiver)

يرسل طلبًا للحصول على حزمة مساحة عرض إلى حزمة تطوير البرامج (SDK).

بعد أن يتلقّى تطبيق العميل إشارة تفيد بنجاح تحميل حزمة SDK تمت إضافة SurfaceView إلى التدرج الهرمي للعرض، وقد يطلب بشكل غير متزامن SurfacePackage لعرض ملف شخصي من حزمة SDK.

عندما تكون SurfacePackage جاهزة، يتم استدعاء OutcomeReceiver#onResult سيتم استدعاء receiver الذي تم تمريره. ستحتوي معاودة الاتصال هذه على Bundle الذي يحتوي على المفتاح SdkSandboxManager#EXTRA_SURFACE_PACKAGE الذي القيمة المرتبطة هي SurfacePackage المطلوبة.

يجب أن يحتوي params الذي تم تمريره على المفاتيح التالية: EXTRA_WIDTH_IN_PIXELS، SdkSandboxManager#EXTRA_HEIGHT_IN_PIXELS، "SdkSandboxManager#EXTRA_DISPLAY_ID" و"SdkSandboxManager#EXTRA_HOST_TOKEN" في حال حذف أي من هذه المفاتيح مفقود أو غير صالح، سيتم طرح IllegalArgumentException.

لا يمكن طلب واجهة برمجة التطبيقات هذه إلا أثناء تشغيل المتصل في المقدّمة. المكالمات من في الخلفية إلى عرض RequestSurfacePackageException في receiver.

المعلمات
sdkName String: اسم حزمة SDK التي تم تحميلها في وضع الحماية لحزمة تطوير البرامج (SDK) لا يمكن أن تكون هذه القيمة null.

params Bundle: المَعلمات التي يمرّرها تطبيق العميل إلى حزمة تطوير البرامج (SDK) لا يمكن أن تكون هذه القيمة null.

callbackExecutor Executor: السمة Executor المطلوب استدعاء معاودة الاتصال عليها لا يمكن أن تكون هذه القيمة null. يتم إرسال أحداث معاودة الاتصال والمستمعين من خلال هذا Executor، ما يوفّر طريقة سهلة للتحكّم في سلسلة المحادثات استخدام البيانات المختلفة. لإرسال الأحداث من خلال سلسلة التعليمات الرئيسية التطبيق، فيمكنك استخدام Context.getMainExecutor() وبخلاف ذلك، يُرجى توفير Executor يتم إرسالها إلى سلسلة محادثات مناسبة.

receiver OutcomeReceiver: يؤدي هذا إما إلى إرجاع Bundle في حالة النجاح والذي سيحتوي على المفتاح SdkSandboxManager#EXTRA_SURFACE_PACKAGE بقيمة SurfacePackage RequestSurfacePackageException عند التعذُّر. لا يمكن أن تكون هذه القيمة null.

الرميات
IllegalArgumentException في حال لم يكن params يحتوي على جميع المفاتيح المطلوبة.

startSdkSandboxActivity

public void startSdkSandboxActivity (Activity fromActivity, 
                IBinder sdkActivityToken)

تؤدي هذه السياسة إلى بدء تشغيل "Activity" في وضع الحماية الخاص بحزمة تطوير البرامج (SDK).

ستؤدي هذه الدالة إلى تشغيل Activity جديد في المهمة نفسها لـ fromActivity الذي تم تمريره وتمريره إلى حزمة تطوير البرامج (SDK) التي شاركت sdkActivityToken الذي تم تمريره. طلبًا من حزمة تطوير البرامج (SDK) هذه لإحصاء Activity.

لن يبدأ Activity في الحالات التالية:

  • التطبيق الذي يستدعي واجهة برمجة التطبيقات هذه يعمل في الخلفية.
  • لم يتم ربط sdkActivityToken الذي تم تمريره بطلب Activity. من حزمة SDK التي شاركتها مع تطبيق المتصل.
  • إنّ حزمة تطوير البرامج (SDK) التي شاركت حزمة "sdkActivityToken" التي تم تمريرها أزالت طلبها هذا. Activity
  • سبق أن تم إنشاء وضع الحماية Activity.

المعلمات
fromActivity Activity: سيتم استخدام Activity لبدء وضع الحماية الجديد Activity من خلال طلب Activity#startActivity(Intent) من عليه. لا يمكن أن تكون هذه القيمة null.

sdkActivityToken IBinder: المعرّف الذي تشاركه حزمة تطوير البرامج (SDK) التي تطلب Activity لا يمكن أن تكون هذه القيمة null.

أمر UnloadSdk

public void unloadSdk (String sdkName)

يؤدي هذا الخيار إلى إلغاء تحميل حزمة تطوير برامج (SDK) سبق أن حمَّلها المتصل.

ليس هناك ما يضمن أنّه سيتم إخلاء الذاكرة المخصّصة لحزمة تطوير البرامج (SDK) هذه على الفور. الكل المكالمات اللاحقة إلى requestSurfacePackage(java.lang.String, android.os.Bundle, java.util.concurrent.Executor, android.os.OutcomeReceiver) سيفشل اختبار القيمة sdkName المحددة.

لا يمكن طلب واجهة برمجة التطبيقات هذه إلا أثناء تشغيل المتصل في المقدّمة. المكالمات من الخلفية إلى رمي SecurityException.

المعلمات
sdkName String: اسم حزمة SDK المطلوب إلغاء تحميلها لا يمكن أن تكون هذه القيمة null.

إلغاء تسجيل AppOwnerSdkSandboxInterface

public void unregisterAppOwnedSdkSandboxInterface (String name)

إلغاء تسجيل ERROR(/AppOwnedSdkSandboxInterfaces) لمعالجة عملية التطبيق.

المعلمات
name String: الاسم الذي تم تسجيل AppOwnerSdkSandboxInterface بموجبه. لا يمكن أن تكون هذه القيمة null.