SandboxedSdkProvider
public
abstract
class
SandboxedSdkProvider
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.SandboxedSdkProvider |
يتضمّن هذا القسم واجهة برمجة التطبيقات التي يمكن لوضع حماية حزمة تطوير البرامج (SDK) استخدامها للتفاعل مع حِزم SDK التي يتم تحميلها إليها.
على حزمة تطوير البرامج (SDK) تنفيذ هذه الفئة المجرّدة لإنشاء نقطة دخول إلى وضع الحماية في حزمة SDK ليتمكّن من استخدامها.
ملخّص
شركة إنشاءات عامة | |
---|---|
SandboxedSdkProvider()
|
الطرق العامة | |
---|---|
final
void
|
attachContext(Context context)
تحدِّد هذه السياسة حزمة تطوير البرامج (SDK) |
void
|
beforeUnloadSdk()
هل العمل اللازم لحزمة SDK لتفريغ مواردها قبل تحميلها |
final
Context
|
getContext()
عليك إرجاع |
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)
تحدِّد هذه السياسة حزمة تطوير البرامج (SDK) Context
التي يمكن استلامها بعد ذلك باستخدام getContext()
. يتم استدعاء هذا قبل استدعاء onLoadSdk(Bundle)
. يجب ألا تكون العمليات التي تتطلب Context
قبل ذلك، حيث إن SandboxedSdkProvider#getContext
سيعرض القيمة "فارغ" حتى
استدعيت هذه الطريقة.
تعرض هذه الدالة UnknownStateException إذا تم تعيين سياق أساسي من قبل.
المعلمات | |
---|---|
context |
Context : السياق الأساسي الجديد
لا يمكن أن تكون هذه القيمة null . |
beforeUnloadSdk
public void beforeUnloadSdk ()
هل العمل اللازم لحزمة SDK لتفريغ مواردها قبل تحميلها
تطلب هذه الدالة من خلال مدير وضع الحماية لحزمة تطوير البرامج (SDK) قبل إلغاء تحميل حزمة SDK. حزمة SDK
من المفترض أن يتعذّر اجتياز أي استدعاءات على Binder تم إرجاعها سابقًا إلى العميل من خلال SandboxedSdk.getInterface()
.
من المفترض ألا تنفّذ حزمة تطوير البرامج (SDK) أي مهام طويلة الأمد هنا، مثل وحدات الإدخال والإخراج وطلبات الشبكة.
الحصول على سياق
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 أي عمل لتكون جاهزة للتعامل مع الطلبات القادمة. يجب ألا يفعل أي المهام الطويلة الأمد هنا، مثل وحدات الإدخال والإخراج (I/O) ومكالمات الشبكة. وقد يؤدي ذلك إلى منع حزمة SDK من تلقي طلبات من العميل. إضافةً إلى ذلك، ينبغي ألا تجري التهيئة يعتمد على حِزم تطوير البرامج (SDK) الأخرى التي يتم تحميلها في وضع الحماية لحزمة تطوير البرامج (SDK).
يجب ألّا تُجري حزمة تطوير البرامج (SDK) أي عمليات تتطلّب كائن Context
قبل هذه الطريقة.
عملية طلب البيانات.
المعلمات | |
---|---|
params |
Bundle : قائمة المَعلمات التي يتم تمريرها من العميل عند تحميل حزمة تطوير البرامج (SDK) يمكن أن يكون هذا الحقل فارغًا.
لا يمكن أن تكون هذه القيمة null . |
المرتجعات | |
---|---|
SandboxedSdk |
تعرض SandboxedSdk ، تم إرجاعها إلى العميل. يتم استخدام IBinder لإنشاء
سيستخدِم العميل الكائن SandboxedSdk للاتصال بحزمة تطوير البرامج (SDK).
لا يمكن أن تكون هذه القيمة null . |
الرميات | |
---|---|
LoadSdkException |