مدير SdkSandboxManager
public
final
class
SdkSandboxManager
extends Object
java.lang.Object | |
↳ | android.app.sdksandbox.SdkSandboxManager |
توفّر واجهات برمجة التطبيقات لتحميل SDKs
إلى عملية وضع الحماية لحزمة تطوير البرامج (SDK) والتفاعل معها.
وضع حماية SDK هو عملية جافا يتم تشغيلها في نطاق معرّف مستخدم منفصل. يمكن أن يكون لكل تطبيق عملية وضع الحماية لحزمة تطوير البرامج (SDK) خاصة به.
يجب أن يذكر التطبيق أولاً حِزم SDK التي يعتمد عليها في ملف البيان باستخدام العلامة <uses-sdk-library>
. قد لا تحمِّل التطبيقات سوى حِزم SDK التي تعتمد عليها في وضع الحماية لحزمة SDK.
يُرجى الاطّلاع أيضًا على:
ملخّص
الصفوف المتداخلة | |
---|---|
interface |
SdkSandboxManager.SdkSandboxProcessDeathCallback
معاودة الاتصال لإيقاف وضع الحماية لحزمة تطوير البرامج (SDK) لتتبُّع الأحداث |
الطرق المتاحة للجميع | |
---|---|
void
|
addSdkSandboxProcessDeathCallback(Executor callbackExecutor, SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
تتم إضافة معاودة الاتصال التي يتم تسجيلها في أحداث مراحل نشاط وضع الحماية لحزمة SDK، مثل إيقاف وضع الحماية لحزمة SDK. |
void
|
addSyncedSharedPreferencesKeys(Set<String> keys)
يضيف هذا الإعداد المفاتيح إلى مجموعة المفاتيح التي تتم مزامنتها من |
List<AppOwnedSdkSandboxInterface>
|
getAppOwnedSdkSandboxInterfaces()
يجلب قائمة |
List<SandboxedSdk>
|
getSandboxedSdks()
يجلب معلومات حول حِزم تطوير البرامج (SDK) التي تم تحميلها في وضع الحماية. |
static
int
|
getSdkSandboxState()
تعرض الحالة الحالية لمدى توفُّر ميزة وضع الحماية لحزمة تطوير البرامج (SDK). |
Set<String>
|
getSyncedSharedPreferencesKeys()
لعرض المفاتيح التي تمّت مزامنتها من |
void
|
loadSdk(String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> receiver)
يتم تحميل حزمة تطوير البرامج (SDK) في عملية JavaScript لحماية حزمة تطوير البرامج (SDK). |
void
|
registerAppOwnedSdkSandboxInterface(AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
يسجِّل |
void
|
removeSdkSandboxProcessDeathCallback(SdkSandboxManager.SdkSandboxProcessDeathCallback callback)
لإزالة |
void
|
removeSyncedSharedPreferencesKeys(Set<String> keys)
يؤدي هذا الخيار إلى إزالة المفاتيح من مجموعة المفاتيح التي تمت إضافتها باستخدام " سيتم محو المفاتيح التي تمت إزالتها من وضع الحماية لحزمة تطوير البرامج (SDK) إذا سبق وتمت مزامنتها. |
void
|
requestSurfacePackage(String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> receiver)
تُرسِل طلبًا للحصول على حزمة سطح إلى حزمة تطوير البرامج (SDK). |
void
|
startSdkSandboxActivity(Activity fromActivity, IBinder sdkActivityToken)
بدء |
void
|
unloadSdk(String sdkName)
إلغاء تحميل حزمة تطوير برامج (SDK) حمَّلها المتصل في السابق. |
void
|
unregisterAppOwnedSdkSandboxInterface(String name)
يؤدي هذا الإجراء إلى إلغاء تسجيل " |
الطرق المكتسبة | |
---|---|
الثوابت
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
public static final int REQUEST_SURFACE_PACKAGE_SDK_NOT_LOADED
لا يتم تحميل حزمة تطوير البرامج (SDK) عند طلب SurfacePackage
.
يشير هذا إلى أنّ حزمة تطوير البرامج (SDK) المطلوبة SurfacePackage
لم يتم تحميلها، إما بسبب توقف وضع الحماية أو لأنّه لم يتم تحميله في الأساس.
القيمة الثابتة: 701 (0x000002bd)
SDK_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
API لتحميل 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()
API.
لإيقاف مزامنة أي مفتاح تمت إضافته باستخدام واجهة برمجة التطبيقات هذه، استخدِم removeSyncedSharedPreferencesKeys(java.util.Set)
.
تتوقف المزامنة في حال إعادة تشغيل التطبيق، وعلى المستخدم استدعاء واجهة برمجة التطبيقات هذه مرة أخرى لإعادة إنشاء مجموعة المفاتيح للمزامنة.
ملاحظة: لا تتيح هذه الفئة استخدام البيانات في عمليات متعدّدة.
المعلّمات | |
---|---|
keys |
Set : مجموعة المفاتيح التي ستتم مزامنتها مع Sandbox.
لا يمكن أن تكون هذه القيمة null . |
واجهات getAppOwnedSdkSandboxInterfaces
public List<AppOwnedSdkSandboxInterface> getAppOwnedSdkSandboxInterfaces ()
يجلب قائمة AppOwnedSdkSandboxInterface
المسجَّلة في أحد التطبيقات.
الركلات المردودة | |
---|---|
List<AppOwnedSdkSandboxInterface> |
قائمة فارغة في حال لم يتم العثور على CallInfo في الخريطة وإلّا فإنّ القائمة 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 . |
تحميلloadSdk
public void loadSdk (String sdkName, Bundle params, Executor executor, OutcomeReceiver<SandboxedSdk, LoadSdkException> 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 . |
واجهة برمجة تطبيقات مملوكة وSdkSandboxInterface
public void registerAppOwnedSdkSandboxInterface (AppOwnedSdkSandboxInterface appOwnedSdkSandboxInterface)
يسجِّل AppOwnedSdkSandboxInterface
لعملية التطبيق.
في حال تسجيل AppOwnedSdkSandboxInterface
باستخدام اسم واجهة تم تسجيلها سابقًا، سيتم عرض IllegalStateException
.
يشير AppOwnedSdkSandboxInterface#getName()
إلى اسم الواجهة.
المعلّمات | |
---|---|
appOwnedSdkSandboxInterface |
AppOwnedSdkSandboxInterface : AppOwnedSdkSandboxInterface المراد تسجيلهما
لا يمكن أن تكون هذه القيمة null . |
إزالةSdkSandboxProcessDeathCallback
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 : مجموعة من أسماء المفاتيح التي يجب عدم مزامنتها بعد الآن مع "وضع الحماية".
لا يمكن أن تكون هذه القيمة null . |
طلب SurfacePackage
public void requestSurfacePackage (String sdkName, Bundle params, Executor callbackExecutor, OutcomeReceiver<Bundle, RequestSurfacePackageException> 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 . |
إلغاء تحميل Sdk
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 . |
UnregisterAppOwnedSdkSandboxInterface
public void unregisterAppOwnedSdkSandboxInterface (String name)
يؤدي هذا الإجراء إلى إلغاء تسجيل "ERROR(/AppOwnedSdkSandboxInterfaces)
" في معالجة أحد التطبيقات.
المعلّمات | |
---|---|
name |
String : الاسم الذي تم به تسجيل AppOwnedSdkSandboxInterface.
لا يمكن أن تكون هذه القيمة null . |