SandboxedSdkProvider

public abstract class SandboxedSdkProvider
extends Object

java.lang.Object
android.app.sdk.SandboxedSdkProvider


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

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

ملخّص

شركات الإنشاءات العامة

SandboxedSdkProvider()

الطرق المتاحة للجميع

final void attachContext(Context context)

تضبط هذه السياسة الإصدار Context من حزمة تطوير البرامج (SDK) التي يمكن استلامها بعد ذلك باستخدام getContext().

void beforeUnloadSdk()

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

final Context getContext()

يمكنك إرجاع Context الذي تم ضبطه في السابق من خلال SandboxedSdkProvider#attachContext.

abstract View getView(Context windowContext, Bundle params, int width, int height)

لطلب عرض عن بُعد لعملية تطبيق العميل.

abstract SandboxedSdk onLoadSdk(Bundle params)

تحديد المهام المطلوبة من حزمة تطوير البرامج (SDK) لبدء معالجة الطلبات

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

شركات الإنشاءات العامة

SandboxedSdkProvider

public SandboxedSdkProvider ()

الطرق المتاحة للجميع

إرفاق السياق

public final void attachContext (Context context)

تضبط هذه السياسة الإصدار Context من حزمة تطوير البرامج (SDK) التي يمكن استلامها بعد ذلك باستخدام getContext(). ويتم طلب ذلك قبل استدعاء onLoadSdk(Bundle). لا يجب إجراء أي عمليات تتطلّب Context قبل هذا التاريخ، لأنّ السمة SandboxedSdkProvider#getContext ستعرض قيمة فارغة إلى أن يتم طلب هذه الطريقة.

يؤدي ذلك إلى عرض BlockedStateException إذا تم تعيين سياق أساسي من قبل.

المعلّمات
context Context: السياق الأساسي الجديد لا يمكن أن تكون هذه القيمة null.

beforeUnloadSdk

public void beforeUnloadSdk ()

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

يستدعي مدير وضع الحماية لحزمة SDK هذه الدالة قبل إلغاء تحميل SDK. من المفترض أن يتعذّر على حزمة تطوير البرامج (SDK) تنفيذ أي استدعاءات على الصنف Binder الذي تم إرجاعه سابقًا إلى العميل من خلال SandboxedSdk.getInterface().

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

getContext

public final Context getContext ()

يمكنك إرجاع Context الذي تم ضبطه في السابق من خلال SandboxedSdkProvider#attachContext. سيؤدي هذا إلى عرض قيمة فارغة إذا لم يتم تعيين سياق مسبقًا.

الركلات المردودة
Context

الحصول على عرض

public abstract View getView (Context windowContext, 
                Bundle params, 
                int width, 
                int height)

لطلب عرض عن بُعد لعملية تطبيق العميل.

سيتمّ دمج قيمة View المتعلقة بإرجاع المشتريات ضمن SurfacePackage. سيتم إرسال قيمة SurfacePackage الناتجة إلى تطبيق العميل.

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

المعلّمات
windowContext Context: Context للشاشة التي يُقصد بها إظهار طريقة العرض لا يمكن أن تكون هذه القيمة null.

params Bundle: قائمة المعلمات التي يتم تمريرها من تطبيق العميل الذي يطلب العرض لا يمكن أن تكون هذه القيمة null.

width int: سيتم وضع العرض الذي يتم عرضه كما لو كان في نافذة بهذا العرض، بالبكسل.

height int: سيتم عرض العرض كما لو كان في نافذة بهذا الارتفاع بالبكسل.

الركلات المردودة
View View الذي يمرِّر فيه وضع حماية SDK إلى تطبيق العميل الذي يطلب العرض لا يمكن أن تكون هذه القيمة null.

onLoadSdk

public abstract SandboxedSdk onLoadSdk (Bundle params)

تحديد المهام المطلوبة من حزمة تطوير البرامج (SDK) لبدء معالجة الطلبات

يتم استدعاء هذه الدالة بواسطة وضع الحماية لحزمة SDK بعد تحميل SDK.

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

يجب ألّا تُجري حزمة تطوير البرامج (SDK) أي عمليات تتطلّب عنصر Context قبل طلب هذه الطريقة.

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

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

الرميات
LoadSdkException