SandboxedSdkProvider
public abstract class SandboxedSdkProvider
extends Object
java.lang.object | |
↳ | android.app.sdksandbox.SandboxedSdkProvider |
API را محصور می کند که جعبه SDK می تواند از آن برای تعامل با SDK های بارگذاری شده در آن استفاده کند.
SDK باید این کلاس انتزاعی را پیادهسازی کند تا یک نقطه ورودی برای SDK sandbox ایجاد کند تا بتواند آن را فراخوانی کند.
خلاصه
سازندگان عمومی | |
---|---|
SandboxedSdkProvider () |
روش های عمومی | |
---|---|
final void | attachContext ( Context context) |
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 ()
روش های عمومی
attachContext
public final void attachContext (Context context)
Context
SDK را تنظیم می کند که سپس با استفاده از getContext()
قابل دریافت است. این قبل از فراخوانی onLoadSdk(Bundle)
فراخوانی می شود. هیچ عملیاتی که نیاز به Context
داشته باشد نباید قبل از آن انجام شود، زیرا SandboxedSdkProvider#getContext
تا زمانی که این متد فراخوانی نشود، null برمیگرداند.
اگر زمینه پایه از قبل تنظیم شده باشد، IllegalStateException را پرتاب می کند.
پارامترها | |
---|---|
context | Context : زمینه پایه جدید. این مقدار نمی تواند null باشد. |
قبل از UnloadSdk
public void beforeUnloadSdk ()
آیا کار مورد نیاز برای SDK برای آزاد کردن منابع خود قبل از بارگیری انجام می شود.
این تابع قبل از بارگیری SDK توسط مدیر جعبه SDK فراخوانی می شود. SDK باید در هر فراخوانی در Binder که قبلاً از طریق SandboxedSdk.getInterface()
به مشتری بازگردانده شده است، ناموفق باشد.
SDK نباید هیچ کار طولانی مدتی را در اینجا انجام دهد، مانند I/O و تماس های شبکه.
getContext
public final Context getContext ()
Context
که قبلاً از طریق SandboxedSdkProvider#attachContext
تنظیم شده است، برگردانید. در صورتی که هیچ زمینهای قبلاً تنظیم نشده باشد، این گزینه خالی خواهد شد.
برمی گرداند | |
---|---|
Context |
getView
public abstract View getView (Context windowContext, Bundle params, int width, int height)
یک نما را درخواست می کند که از راه دور به فرآیند برنامه مشتری ارائه شود.
View
بازگشتی در SurfacePackage
پیچیده می شود. SurfacePackage
حاصل به برنامه مشتری بازگردانده می شود.
SDK نباید هیچ کار طولانی مدتی را در اینجا انجام دهد، مانند I/O و تماس های شبکه. انجام این کار می تواند از دریافت درخواست های SDK از مشتری جلوگیری کند.
پارامترها | |
---|---|
windowContext | Context : Context نمایشگر که به معنای نمایش نمای است این مقدار نمی تواند null باشد. |
params | Bundle : لیستی از پارامترهای ارسال شده از برنامه مشتری درخواست کننده view این مقدار نمی تواند null باشد. |
width | int : نمای برگشتی به صورت پیکسل در پنجره ای با این عرض قرار می گیرد. |
height | int : نمای برگشتی به صورت پیکسل در پنجره ای با این ارتفاع قرار می گیرد. |
برمی گرداند | |
---|---|
View | View ای که جعبه SDK آن را به برنامه مشتری درخواست کننده نما ارسال می کند. این مقدار نمی تواند null باشد. |
onLoadSdk
public abstract SandboxedSdk onLoadSdk (Bundle params)
آیا کار مورد نیاز برای SDK برای شروع رسیدگی به درخواست ها انجام می شود.
این تابع پس از بارگیری SDK توسط sandbox SDK فراخوانی می شود.
SDK باید هر کاری را انجام دهد تا آماده رسیدگی به درخواستهای آتی باشد. در اینجا نباید هیچ کار طولانی مدتی مانند I/O و تماس های شبکه انجام دهد. انجام این کار می تواند از دریافت درخواست های SDK از مشتری جلوگیری کند. علاوه بر این، نباید مقداردهی اولیهای را انجام دهد که بستگی به بارگیری سایر SDKها در جعبه SDK دارد.
قبل از فراخوانی این متد، SDK نباید هیچ عملیاتی را انجام دهد که به یک شی Context
نیاز دارد.
پارامترها | |
---|---|
params | Bundle : لیستی از پارامترهای ارسال شده از مشتری هنگام بارگیری SDK. این می تواند خالی باشد. این مقدار نمی تواند null باشد. |
برمی گرداند | |
---|---|
SandboxedSdk | SandboxedSdk برمیگرداند که به مشتری ارسال شده است. IBinder مورد استفاده برای ایجاد شی SandboxedSdk توسط مشتری برای فراخوانی به SDK استفاده می شود. این مقدار نمی تواند null باشد. |
پرتاب می کند | |
---|---|
LoadSdkException |